umap-project 2.4.1__py3-none-any.whl → 2.5.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- umap/__init__.py +1 -1
- umap/locale/el/LC_MESSAGES/django.mo +0 -0
- umap/locale/el/LC_MESSAGES/django.po +145 -90
- umap/locale/en/LC_MESSAGES/django.po +13 -13
- umap/locale/eu/LC_MESSAGES/django.mo +0 -0
- umap/locale/eu/LC_MESSAGES/django.po +145 -89
- umap/locale/hu/LC_MESSAGES/django.mo +0 -0
- umap/locale/hu/LC_MESSAGES/django.po +100 -50
- umap/static/umap/base.css +5 -2
- umap/static/umap/content.css +2 -2
- umap/static/umap/css/contextmenu.css +11 -0
- umap/static/umap/css/dialog.css +25 -4
- umap/static/umap/css/importers.css +2 -0
- umap/static/umap/css/panel.css +6 -4
- umap/static/umap/css/slideshow.css +69 -0
- umap/static/umap/css/tableeditor.css +69 -0
- umap/static/umap/css/tooltip.css +3 -3
- umap/static/umap/img/16-white.svg +4 -0
- umap/static/umap/img/source/16-white.svg +5 -1
- umap/static/umap/js/components/alerts/alert.css +11 -11
- umap/static/umap/js/components/alerts/alert.js +1 -1
- umap/static/umap/js/modules/autocomplete.js +27 -5
- umap/static/umap/js/modules/browser.js +20 -14
- umap/static/umap/js/modules/caption.js +4 -4
- umap/static/umap/js/modules/dompurify.js +2 -3
- umap/static/umap/js/modules/facets.js +53 -17
- umap/static/umap/js/modules/formatter.js +153 -0
- umap/static/umap/js/modules/global.js +25 -16
- umap/static/umap/js/modules/help.js +26 -26
- umap/static/umap/js/modules/importer.js +10 -10
- umap/static/umap/js/modules/importers/communesfr.js +3 -1
- umap/static/umap/js/modules/importers/datasets.js +8 -6
- umap/static/umap/js/modules/importers/geodatamine.js +14 -14
- umap/static/umap/js/modules/importers/overpass.js +19 -15
- umap/static/umap/js/modules/orderable.js +2 -2
- umap/static/umap/js/modules/request.js +1 -1
- umap/static/umap/js/modules/rules.js +26 -11
- umap/static/umap/js/modules/schema.js +16 -12
- umap/static/umap/js/{umap.share.js → modules/share.js} +58 -103
- umap/static/umap/js/modules/slideshow.js +141 -0
- umap/static/umap/js/modules/sync/engine.js +3 -3
- umap/static/umap/js/modules/sync/updaters.js +10 -11
- umap/static/umap/js/modules/sync/websocket.js +1 -1
- umap/static/umap/js/modules/tableeditor.js +329 -0
- umap/static/umap/js/modules/ui/base.js +93 -0
- umap/static/umap/js/modules/ui/contextmenu.js +50 -0
- umap/static/umap/js/modules/ui/dialog.js +169 -31
- umap/static/umap/js/modules/ui/panel.js +7 -5
- umap/static/umap/js/modules/ui/tooltip.js +7 -77
- umap/static/umap/js/modules/urls.js +1 -2
- umap/static/umap/js/modules/utils.js +36 -16
- umap/static/umap/js/umap.controls.js +27 -29
- umap/static/umap/js/umap.core.js +19 -15
- umap/static/umap/js/umap.datalayer.permissions.js +15 -18
- umap/static/umap/js/umap.features.js +113 -131
- umap/static/umap/js/umap.forms.js +203 -228
- umap/static/umap/js/umap.icon.js +17 -22
- umap/static/umap/js/umap.js +117 -107
- umap/static/umap/js/umap.layer.js +374 -324
- umap/static/umap/js/umap.permissions.js +7 -10
- umap/static/umap/js/umap.popup.js +20 -20
- umap/static/umap/locale/am_ET.js +22 -5
- umap/static/umap/locale/am_ET.json +22 -5
- umap/static/umap/locale/ar.js +22 -5
- umap/static/umap/locale/ar.json +22 -5
- umap/static/umap/locale/ast.js +22 -5
- umap/static/umap/locale/ast.json +22 -5
- umap/static/umap/locale/bg.js +22 -5
- umap/static/umap/locale/bg.json +22 -5
- umap/static/umap/locale/br.js +22 -5
- umap/static/umap/locale/br.json +22 -5
- umap/static/umap/locale/ca.js +56 -39
- umap/static/umap/locale/ca.json +56 -39
- umap/static/umap/locale/cs_CZ.js +22 -5
- umap/static/umap/locale/cs_CZ.json +22 -5
- umap/static/umap/locale/da.js +22 -5
- umap/static/umap/locale/da.json +22 -5
- umap/static/umap/locale/de.js +22 -5
- umap/static/umap/locale/de.json +22 -5
- umap/static/umap/locale/el.js +27 -10
- umap/static/umap/locale/el.json +27 -10
- umap/static/umap/locale/en.js +22 -6
- umap/static/umap/locale/en.json +22 -6
- umap/static/umap/locale/en_US.json +22 -5
- umap/static/umap/locale/es.js +22 -6
- umap/static/umap/locale/es.json +22 -6
- umap/static/umap/locale/et.js +22 -5
- umap/static/umap/locale/et.json +22 -5
- umap/static/umap/locale/eu.js +167 -150
- umap/static/umap/locale/eu.json +167 -150
- umap/static/umap/locale/fa_IR.js +22 -5
- umap/static/umap/locale/fa_IR.json +22 -5
- umap/static/umap/locale/fi.js +22 -5
- umap/static/umap/locale/fi.json +22 -5
- umap/static/umap/locale/fr.js +22 -6
- umap/static/umap/locale/fr.json +22 -6
- umap/static/umap/locale/gl.js +22 -5
- umap/static/umap/locale/gl.json +22 -5
- umap/static/umap/locale/he.js +22 -5
- umap/static/umap/locale/he.json +22 -5
- umap/static/umap/locale/hr.js +22 -5
- umap/static/umap/locale/hr.json +22 -5
- umap/static/umap/locale/hu.js +89 -72
- umap/static/umap/locale/hu.json +89 -72
- umap/static/umap/locale/id.js +22 -5
- umap/static/umap/locale/id.json +22 -5
- umap/static/umap/locale/is.js +22 -5
- umap/static/umap/locale/is.json +22 -5
- umap/static/umap/locale/it.js +22 -5
- umap/static/umap/locale/it.json +22 -5
- umap/static/umap/locale/ja.js +22 -5
- umap/static/umap/locale/ja.json +22 -5
- umap/static/umap/locale/ko.js +22 -5
- umap/static/umap/locale/ko.json +22 -5
- umap/static/umap/locale/lt.js +22 -5
- umap/static/umap/locale/lt.json +22 -5
- umap/static/umap/locale/ms.js +22 -5
- umap/static/umap/locale/ms.json +22 -5
- umap/static/umap/locale/nl.js +22 -5
- umap/static/umap/locale/nl.json +22 -5
- umap/static/umap/locale/no.js +22 -5
- umap/static/umap/locale/no.json +22 -5
- umap/static/umap/locale/pl.js +22 -5
- umap/static/umap/locale/pl.json +22 -5
- umap/static/umap/locale/pl_PL.json +22 -5
- umap/static/umap/locale/pt.js +22 -6
- umap/static/umap/locale/pt.json +22 -6
- umap/static/umap/locale/pt_BR.js +22 -5
- umap/static/umap/locale/pt_BR.json +22 -5
- umap/static/umap/locale/pt_PT.js +22 -5
- umap/static/umap/locale/pt_PT.json +22 -5
- umap/static/umap/locale/ro.js +22 -5
- umap/static/umap/locale/ro.json +22 -5
- umap/static/umap/locale/ru.js +22 -5
- umap/static/umap/locale/ru.json +22 -5
- umap/static/umap/locale/sk_SK.js +22 -5
- umap/static/umap/locale/sk_SK.json +22 -5
- umap/static/umap/locale/sl.js +22 -5
- umap/static/umap/locale/sl.json +22 -5
- umap/static/umap/locale/sr.js +22 -5
- umap/static/umap/locale/sr.json +22 -5
- umap/static/umap/locale/sv.js +22 -5
- umap/static/umap/locale/sv.json +22 -5
- umap/static/umap/locale/th_TH.js +22 -5
- umap/static/umap/locale/th_TH.json +22 -5
- umap/static/umap/locale/tr.js +22 -5
- umap/static/umap/locale/tr.json +22 -5
- umap/static/umap/locale/uk_UA.js +22 -5
- umap/static/umap/locale/uk_UA.json +22 -5
- umap/static/umap/locale/vi.js +22 -5
- umap/static/umap/locale/vi.json +22 -5
- umap/static/umap/locale/vi_VN.json +22 -5
- umap/static/umap/locale/zh.js +22 -5
- umap/static/umap/locale/zh.json +22 -5
- umap/static/umap/locale/zh_CN.json +22 -5
- umap/static/umap/locale/zh_TW.Big5.json +22 -5
- umap/static/umap/locale/zh_TW.js +22 -5
- umap/static/umap/locale/zh_TW.json +22 -5
- umap/static/umap/map.css +9 -153
- umap/static/umap/vars.css +15 -0
- umap/static/umap/vendors/dompurify/purify.es.js +5 -59
- umap/static/umap/vendors/dompurify/purify.es.mjs.map +1 -1
- umap/static/umap/vendors/formbuilder/Leaflet.FormBuilder.js +410 -428
- umap/static/umap/vendors/geojson-to-gpx/index.js +155 -0
- umap/static/umap/vendors/osmtogeojson/osmtogeojson.js +1 -2
- umap/static/umap/vendors/togeojson/togeojson.es.js +1109 -0
- umap/static/umap/vendors/togeojson/{togeojson.umd.js.map → togeojson.es.mjs.map} +1 -1
- umap/static/umap/vendors/tokml/tokml.es.js +895 -0
- umap/static/umap/vendors/tokml/tokml.es.mjs.map +1 -0
- umap/storage.py +6 -2
- umap/templates/umap/components/alerts/alert.html +3 -3
- umap/templates/umap/css.html +3 -0
- umap/templates/umap/js.html +0 -6
- umap/tests/fixtures/categorized_highway.geojson +1 -0
- umap/tests/fixtures/test_import_osm_relation.json +130 -0
- umap/tests/integration/conftest.py +8 -1
- umap/tests/integration/test_browser.py +3 -2
- umap/tests/integration/test_categorized_layer.py +141 -0
- umap/tests/integration/test_conditional_rules.py +21 -0
- umap/tests/integration/test_datalayer.py +9 -4
- umap/tests/integration/test_edit_datalayer.py +1 -0
- umap/tests/integration/test_edit_polygon.py +1 -1
- umap/tests/integration/test_export_map.py +2 -3
- umap/tests/integration/test_import.py +22 -0
- umap/tests/integration/test_map_preview.py +36 -2
- umap/tests/integration/test_tableeditor.py +158 -4
- umap/tests/integration/test_websocket_sync.py +2 -2
- umap/tests/test_views.py +2 -2
- umap/views.py +3 -2
- {umap_project-2.4.1.dist-info → umap_project-2.5.0.dist-info}/METADATA +8 -8
- {umap_project-2.4.1.dist-info → umap_project-2.5.0.dist-info}/RECORD +194 -184
- umap/static/umap/js/umap.slideshow.js +0 -165
- umap/static/umap/js/umap.tableeditor.js +0 -118
- umap/static/umap/vendors/togeojson/togeojson.umd.js +0 -2
- umap/static/umap/vendors/togpx/togpx.js +0 -547
- umap/static/umap/vendors/tokml/tokml.js +0 -343
- {umap_project-2.4.1.dist-info → umap_project-2.5.0.dist-info}/WHEEL +0 -0
- {umap_project-2.4.1.dist-info → umap_project-2.5.0.dist-info}/entry_points.txt +0 -0
- {umap_project-2.4.1.dist-info → umap_project-2.5.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
export default function GeoJsonToGpx(geoJson, options, implementation) {
|
|
2
|
+
if (implementation === void 0) { implementation = document.implementation; }
|
|
3
|
+
var doc = implementation.createDocument('http://www.topografix.com/GPX/1/1', '');
|
|
4
|
+
var instruct = doc.createProcessingInstruction('xml', 'version="1.0" encoding="UTF-8"');
|
|
5
|
+
doc.appendChild(instruct);
|
|
6
|
+
var defaultPackageName = '@dwayneparton/geojson-to-gpx';
|
|
7
|
+
var creator = (options === null || options === void 0 ? void 0 : options.creator) || defaultPackageName;
|
|
8
|
+
var createElementWithNS = function (tagName) {
|
|
9
|
+
return doc.createElementNS('http://www.topografix.com/GPX/1/1', tagName);
|
|
10
|
+
};
|
|
11
|
+
var gpx = createElementWithNS('gpx');
|
|
12
|
+
gpx.setAttribute('version', '1.1');
|
|
13
|
+
gpx.setAttribute('creator', creator);
|
|
14
|
+
var wpts = [];
|
|
15
|
+
var trks = [];
|
|
16
|
+
function createTagInParentElement(parent, tagName, content) {
|
|
17
|
+
if (content === undefined) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
var element = createElementWithNS(tagName);
|
|
21
|
+
var contentEl = doc.createTextNode(String(content));
|
|
22
|
+
element.appendChild(contentEl);
|
|
23
|
+
parent.appendChild(element);
|
|
24
|
+
}
|
|
25
|
+
function addSupportedPropertiesFromObject(el, supports, properties) {
|
|
26
|
+
if (properties && typeof properties === 'object') {
|
|
27
|
+
supports.forEach(function (key) {
|
|
28
|
+
var value = properties[key];
|
|
29
|
+
if (value && typeof value === 'string' && supports.includes(key)) {
|
|
30
|
+
createTagInParentElement(el, key, value);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function createLinkInParentElement(parent, props) {
|
|
36
|
+
var href = props.href;
|
|
37
|
+
if (!href) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
var el = createElementWithNS('link');
|
|
41
|
+
el.setAttribute('href', href);
|
|
42
|
+
addSupportedPropertiesFromObject(el, ['text', 'type'], props);
|
|
43
|
+
parent.appendChild(el);
|
|
44
|
+
}
|
|
45
|
+
function createTrk(properties) {
|
|
46
|
+
var el = createElementWithNS('trk');
|
|
47
|
+
var supports = ['name', 'desc', 'src', 'type'];
|
|
48
|
+
addSupportedPropertiesFromObject(el, supports, properties);
|
|
49
|
+
return el;
|
|
50
|
+
}
|
|
51
|
+
function createPt(type, position, properties) {
|
|
52
|
+
var lon = position[0], lat = position[1], ele = position[2], time = position[3];
|
|
53
|
+
var el = createElementWithNS(type);
|
|
54
|
+
el.setAttribute('lat', String(lat));
|
|
55
|
+
el.setAttribute('lon', String(lon));
|
|
56
|
+
createTagInParentElement(el, 'ele', ele);
|
|
57
|
+
createTagInParentElement(el, 'time', time);
|
|
58
|
+
var supports = ['name', 'desc', 'src', 'type'];
|
|
59
|
+
addSupportedPropertiesFromObject(el, supports, properties);
|
|
60
|
+
return el;
|
|
61
|
+
}
|
|
62
|
+
function createTrkSeg(coordinates) {
|
|
63
|
+
var el = createElementWithNS('trkseg');
|
|
64
|
+
coordinates.forEach(function (point) {
|
|
65
|
+
el.appendChild(createPt('trkpt', point));
|
|
66
|
+
});
|
|
67
|
+
return el;
|
|
68
|
+
}
|
|
69
|
+
function interpretFeature(feature) {
|
|
70
|
+
var geometry = feature.geometry, properties = feature.properties;
|
|
71
|
+
var type = geometry.type;
|
|
72
|
+
switch (type) {
|
|
73
|
+
case 'Polygon':
|
|
74
|
+
break;
|
|
75
|
+
case 'Point': {
|
|
76
|
+
wpts.push(createPt('wpt', geometry.coordinates, properties));
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
case 'MultiPoint': {
|
|
80
|
+
geometry.coordinates.forEach(function (coord) {
|
|
81
|
+
wpts.push(createPt('wpt', coord, properties));
|
|
82
|
+
});
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
case 'LineString': {
|
|
86
|
+
var lineTrk = createTrk(properties);
|
|
87
|
+
var trkseg = createTrkSeg(geometry.coordinates);
|
|
88
|
+
lineTrk.appendChild(trkseg);
|
|
89
|
+
trks.push(lineTrk);
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
case 'MultiLineString': {
|
|
93
|
+
var trk_1 = createTrk(properties);
|
|
94
|
+
geometry.coordinates.forEach(function (pos) {
|
|
95
|
+
var trkseg = createTrkSeg(pos);
|
|
96
|
+
trk_1.appendChild(trkseg);
|
|
97
|
+
});
|
|
98
|
+
trks.push(trk_1);
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
default:
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (options && typeof options.metadata === 'object') {
|
|
106
|
+
var meta = options.metadata;
|
|
107
|
+
var metadata = createElementWithNS('metadata');
|
|
108
|
+
createTagInParentElement(metadata, 'name', meta.name);
|
|
109
|
+
createTagInParentElement(metadata, 'desc', meta.desc);
|
|
110
|
+
if (meta.author && typeof meta.author === 'object') {
|
|
111
|
+
var author = createElementWithNS('author');
|
|
112
|
+
createTagInParentElement(author, 'name', meta.author.name);
|
|
113
|
+
createTagInParentElement(author, 'email', meta.author.email);
|
|
114
|
+
if (meta.author.link && typeof meta.author.link === 'object') {
|
|
115
|
+
createLinkInParentElement(author, meta.author.link);
|
|
116
|
+
}
|
|
117
|
+
metadata.appendChild(author);
|
|
118
|
+
}
|
|
119
|
+
if (typeof meta.copyright === 'object') {
|
|
120
|
+
var copyright = createElementWithNS('copyright');
|
|
121
|
+
if (meta.copyright.author) {
|
|
122
|
+
copyright.setAttribute('author', meta.copyright.author);
|
|
123
|
+
}
|
|
124
|
+
createTagInParentElement(copyright, 'year', meta.copyright.year);
|
|
125
|
+
createTagInParentElement(copyright, 'license', meta.copyright.license);
|
|
126
|
+
metadata.appendChild(copyright);
|
|
127
|
+
}
|
|
128
|
+
if (typeof meta.link === 'object') {
|
|
129
|
+
createLinkInParentElement(metadata, meta.link);
|
|
130
|
+
}
|
|
131
|
+
createTagInParentElement(metadata, 'time', meta.time);
|
|
132
|
+
createTagInParentElement(metadata, 'keywords', meta.keywords);
|
|
133
|
+
gpx.appendChild(metadata);
|
|
134
|
+
}
|
|
135
|
+
var type = geoJson.type;
|
|
136
|
+
switch (type) {
|
|
137
|
+
case 'Feature': {
|
|
138
|
+
interpretFeature(geoJson);
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
case 'FeatureCollection': {
|
|
142
|
+
var features = geoJson.features;
|
|
143
|
+
features.forEach(function (feature) {
|
|
144
|
+
interpretFeature(feature);
|
|
145
|
+
});
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
default:
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
wpts.forEach(function (wpt) { return gpx.appendChild(wpt); });
|
|
152
|
+
trks.forEach(function (trk) { return gpx.appendChild(trk); });
|
|
153
|
+
doc.appendChild(gpx);
|
|
154
|
+
return doc;
|
|
155
|
+
}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.osmtogeojson=e()}}(function(){return function e(t,n,r){function o(i,u){if(!n[i]){if(!t[i]){var s="function"==typeof require&&require;if(!u&&s)return s(i,!0);if(a)return a(i,!0);var l=new Error("Cannot find module '"+i+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[i]={exports:{}};t[i][0].call(c.exports,function(e){var n=t[i][1][e];return o(n?n:e)},c,c.exports,e,t,n,r)}return n[i].exports}for(var a="function"==typeof require&&require,i=0;i<r.length;i++)o(r[i]);return o}({1:[function(e,t,n){function r(e,t){return(e.version||t.version)&&e.version!==t.version?(e.version||0)>(t.version||0)?e:t:o.merge(e,t)}var o=e("./lodash.custom.js"),a=e("geojson-rewind"),i={};e("osm-polygon-features").forEach(function(e){if("all"===e.polygon)i[e.key]=!0;else{var t="whitelist"===e.polygon?"included_values":"excluded_values",n={};e.values.forEach(function(e){n[e]=!0}),i[e.key]={},i[e.key][t]=n}});var u={};u=function(e,t){function n(e){function t(e){var t=o.clone(e);t.lat=e.center.lat,t.lon=e.center.lon,t.__is_center_placeholder=!0,i.push(t)}function n(e){function t(e,t,r){var o={type:"node",id:"_"+n.type+"/"+n.id+"bounds"+r,lat:e,lon:t};n.nodes.push(o.id),i.push(o)}var n=o.clone(e);n.nodes=[],t(n.bounds.minlat,n.bounds.minlon,1),t(n.bounds.maxlat,n.bounds.minlon,2),t(n.bounds.maxlat,n.bounds.maxlon,3),t(n.bounds.minlat,n.bounds.maxlon,4),n.nodes.push(n.nodes[0]),n.__is_bounds_placeholder=!0,u.push(n)}function r(e){function t(e,t,n){var r={type:"node",id:n,lat:e,lon:t};i.push(r)}o.isArray(e.nodes)||(e.nodes=e.geometry.map(function(e){return null!==e?"_anonymous@"+e.lat+"/"+e.lon:"_anonymous@unknown_location"})),e.geometry.forEach(function(n,r){n&&t(n.lat,n.lon,e.nodes[r])})}function a(e){function t(e,t,n){var r={type:"node",id:n,lat:e,lon:t};i.push(r)}function n(e,t){function n(e,t){var n={type:"node",id:"_anonymous@"+e+"/"+t,lat:e,lon:t};r.nodes.push(n.id),i.push(n)}if(!u.some(function(e){return"way"==e.type&&e.id==t})){var r={type:"way",id:t,nodes:[]};e.forEach(function(e){e?n(e.lat,e.lon):r.nodes.push(void 0)}),u.push(r)}}e.members.forEach(function(e,r){"node"==e.type?e.lat&&t(e.lat,e.lon,e.ref):"way"==e.type&&e.geometry&&(e.ref="_fullGeom"+e.ref,n(e.geometry,e.ref))})}for(var i=new Array,u=new Array,l=new Array,c=0;c<e.elements.length;c++)switch(e.elements[c].type){case"node":var f=e.elements[c];i.push(f);break;case"way":var p=o.clone(e.elements[c]);p.nodes=o.clone(p.nodes),u.push(p),p.center&&t(p),p.geometry?r(p):p.bounds&&n(p);break;case"relation":var y=o.clone(e.elements[c]);y.members=o.clone(y.members),l.push(y);var d=y.members&&y.members.some(function(e){return"node"==e.type&&e.lat||"way"==e.type&&e.geometry&&e.geometry.length>0});y.center&&t(y),d?a(y):y.bounds&&n(y)}return s(i,u,l)}function u(e){function t(e,t,n){e.hasAttribute(n)&&(t[n]=e.getAttribute(n))}function n(e,n){var r=o.clone(e);t(n,r,"lat"),t(n,r,"lon"),r.__is_center_placeholder=!0,u.push(r)}function r(e,t){function n(e,t,n){var o={type:"node",id:"_"+r.type+"/"+r.id+"bounds"+n,lat:e,lon:t};r.nodes.push(o.id),u.push(o)}var r=o.clone(e);r.nodes=[],n(t.getAttribute("minlat"),t.getAttribute("minlon"),1),n(t.getAttribute("maxlat"),t.getAttribute("minlon"),2),n(t.getAttribute("maxlat"),t.getAttribute("maxlon"),3),n(t.getAttribute("minlat"),t.getAttribute("maxlon"),4),r.nodes.push(r.nodes[0]),r.__is_bounds_placeholder=!0,l.push(r)}function a(e,t){function n(e,t,n){var r={type:"node",id:n,lat:e,lon:t};return u.push(r),r.id}o.isArray(e.nodes)||(e.nodes=[],o.each(t,function(t,n){e.nodes.push("_anonymous@"+t.getAttribute("lat")+"/"+t.getAttribute("lon"))})),o.each(t,function(t,r){t.getAttribute("lat")&&n(t.getAttribute("lat"),t.getAttribute("lon"),e.nodes[r])})}function i(e,t){function n(e,t,n){var r={type:"node",id:n,lat:e,lon:t};u.push(r)}function r(e,t){function n(e,t){var n={type:"node",id:"_anonymous@"+e+"/"+t,lat:e,lon:t};r.nodes.push(n.id),u.push(n)}if(!l.some(function(e){return"way"==e.type&&e.id==t})){var r={type:"way",id:t,nodes:[]};o.each(e,function(e){e.getAttribute("lat")?n(e.getAttribute("lat"),e.getAttribute("lon")):r.nodes.push(void 0)}),l.push(r)}}o.each(t,function(t,o){"node"==e.members[o].type?t.getAttribute("lat")&&n(t.getAttribute("lat"),t.getAttribute("lon"),e.members[o].ref):"way"==e.members[o].type&&t.getElementsByTagName("nd").length>0&&(e.members[o].ref="_fullGeom"+e.members[o].ref,r(t.getElementsByTagName("nd"),e.members[o].ref))})}var u=new Array,l=new Array,c=new Array;o.each(e.getElementsByTagName("node"),function(e,n){var r={};o.each(e.getElementsByTagName("tag"),function(e){r[e.getAttribute("k")]=e.getAttribute("v")});var a={type:"node"};t(e,a,"id"),t(e,a,"lat"),t(e,a,"lon"),t(e,a,"version"),t(e,a,"timestamp"),t(e,a,"changeset"),t(e,a,"uid"),t(e,a,"user"),o.isEmpty(r)||(a.tags=r),u.push(a)});var f,p;return o.each(e.getElementsByTagName("way"),function(e,i){var u={},s=[];o.each(e.getElementsByTagName("tag"),function(e){u[e.getAttribute("k")]=e.getAttribute("v")});var c=!1;o.each(e.getElementsByTagName("nd"),function(e,t){var n;(n=e.getAttribute("ref"))&&(s[t]=n),!c&&e.getAttribute("lat")&&(c=!0)});var y={type:"way"};t(e,y,"id"),t(e,y,"version"),t(e,y,"timestamp"),t(e,y,"changeset"),t(e,y,"uid"),t(e,y,"user"),s.length>0&&(y.nodes=s),o.isEmpty(u)||(y.tags=u),(f=e.getElementsByTagName("center")[0])&&n(y,f),c?a(y,e.getElementsByTagName("nd")):(p=e.getElementsByTagName("bounds")[0])&&r(y,p),l.push(y)}),o.each(e.getElementsByTagName("relation"),function(e,a){var u={},s=[];o.each(e.getElementsByTagName("tag"),function(e){u[e.getAttribute("k")]=e.getAttribute("v")});var l=!1;o.each(e.getElementsByTagName("member"),function(e,n){s[n]={},t(e,s[n],"ref"),t(e,s[n],"role"),t(e,s[n],"type"),(!l&&"node"==s[n].type&&e.getAttribute("lat")||"way"==s[n].type&&e.getElementsByTagName("nd").length>0)&&(l=!0)});var y={type:"relation"};t(e,y,"id"),t(e,y,"version"),t(e,y,"timestamp"),t(e,y,"changeset"),t(e,y,"uid"),t(e,y,"user"),s.length>0&&(y.members=s),o.isEmpty(u)||(y.tags=u),(f=e.getElementsByTagName("center")[0])&&n(y,f),l?i(y,e.getElementsByTagName("member")):(p=e.getElementsByTagName("bounds")[0])&&r(y,p),c.push(y)}),s(u,l,c)}function s(e,n,r){function i(e,n){if("object"!=typeof n&&(n={}),"function"==typeof t.uninterestingTags)return!t.uninterestingTags(e,n);for(var r in e)if(t.uninterestingTags[r]!==!0&&n[r]!==!0&&n[r]!==e[r])return!0;return!1}function u(e){var t={timestamp:e.timestamp,version:e.version,changeset:e.changeset,user:e.user,uid:e.uid};for(var n in t)void 0===t[n]&&delete t[n];return t}function s(e,n){function r(e){for(var n,r,o,a,i,u,s=function(e){return e[0]},f=function(e){return e[e.length-1]},p=[];e.length;)for(n=e.pop().nodes.slice(),p.push(n);e.length&&s(n)!==f(n);){for(r=s(n),o=f(n),a=0;a<e.length;a++){if(u=e[a].nodes,o===s(u)){i=n.push,u=u.slice(1);break}if(o===f(u)){i=n.push,u=u.slice(0,-1).reverse();break}if(r==f(u)){i=n.unshift,u=u.slice(0,-1);break}if(r==s(u)){i=n.unshift,u=u.slice(1).reverse();break}u=i=null}if(!u){t.verbose&&console.warn("Multipolygon",l+"/"+c,"contains unclosed ring geometry");break}e.splice(a,1),i.apply(n,u)}return p}function a(e){var t,n,r=function(e,t){for(var n=0;n<t.length;n++)if(a(t[n],e))return!0;return!1},o=function(e){return e.map(function(e){return[+e.lat,+e.lon]})},a=function(e,t){for(var n=e[0],r=e[1],o=!1,a=0,i=t.length-1;a<t.length;i=a++){var u=t[a][0],s=t[a][1],l=t[i][0],c=t[i][1],f=s>r!=c>r&&n<(l-u)*(r-s)/(c-s)+u;f&&(o=!o)}return o};for(e=o(e),t=0;t<f.length;t++)if(n=o(f[t]),r(n,e))return t}var i,s=!1,l=P?"way":"relation",c="number"==typeof e.id?e.id:+e.id.replace("_fullGeom","");i=n.members.filter(function(e){return"way"===e.type}),i=i.map(function(e){var n=g[e.ref];return void 0===n?(t.verbose&&console.warn("Multipolygon",l+"/"+c,"tainted by a missing way",e.type+"/"+e.ref),void(s=!0)):{id:e.ref,role:e.role||"outer",way:n,nodes:n.nodes.filter(function(n){return void 0!==n||(s=!0,t.verbose&&console.warn("Multipolygon",l+"/"+c,"tainted by a way",e.type+"/"+e.ref,"with a missing node"),!1)})}}),i=o.compact(i);var f,p;f=r(i.filter(function(e){return"outer"===e.role})),p=r(i.filter(function(e){return"inner"===e.role}));var y;y=f.map(function(e){return[e]});for(var d=0;d<p.length;d++){var v=a(p[d]);void 0!==v?y[v].push(p[d]):t.verbose&&console.warn("Multipolygon",l+"/"+c,"contains an inner ring with no containing outer")}var h=[];if(h=o.compact(y.map(function(e){var n=o.compact(e.map(function(e){return e.length<4?void(t.verbose&&console.warn("Multipolygon",l+"/"+c,"contains a ring with less than four nodes")):o.compact(e.map(function(e){return[+e.lon,+e.lat]}))}));return 0==n.length?void(t.verbose&&console.warn("Multipolygon",l+"/"+c,"contains an empty ring cluster")):n})),0==h.length)return t.verbose&&console.warn("Multipolygon",l+"/"+c,"contains no coordinates"),!1;var b="MultiPolygon";1===h.length&&(b="Polygon",h=h[0]);var m={type:"Feature",id:e.type+"/"+c,properties:{type:e.type,id:c,tags:e.tags||{},relations:A[e.type][e.id]||[],meta:u(e)},geometry:{type:b,coordinates:h}};return s&&(t.verbose&&console.warn("Multipolygon",l+"/"+c,"is tainted"),m.properties.tainted=!0),m}for(var c=new Object,f=new Object,p=0;p<e.length;p++){var y=e[p];void 0!==c[y.id]&&(y=t.deduplicator(y,c[y.id])),c[y.id]=y,"undefined"!=typeof y.tags&&i(y.tags)&&(f[y.id]=!0)}for(var p=0;p<r.length;p++)if(o.isArray(r[p].members))for(var d=0;d<r[p].members.length;d++)"node"==r[p].members[d].type&&(f[r[p].members[d].ref]=!0);for(var g=new Object,v=new Object,p=0;p<n.length;p++){var h=n[p];if(g[h.id]&&(h=t.deduplicator(h,g[h.id])),g[h.id]=h,o.isArray(h.nodes))for(var d=0;d<h.nodes.length;d++)v[h.nodes[d]]=!0,h.nodes[d]=c[h.nodes[d]]}var b=new Array;for(var m in c){var y=c[m];v[m]&&!f[m]||b.push(y)}for(var _=new Array,p=0;p<r.length;p++){var w=r[p];_[w.id]&&(w=t.deduplicator(w,_[w.id])),_[w.id]=w}var A={node:{},way:{},relation:{}};for(var m in _){var w=_[m];if(o.isArray(w.members))for(var d=0;d<w.members.length;d++){var j=w.members[d].type,k=w.members[d].ref;"number"!=typeof k&&(k=k.replace("_fullGeom","")),A[j]?("undefined"==typeof A[j][k]&&(A[j][k]=[]),A[j][k].push({role:w.members[d].role,rel:w.id,reltags:w.tags})):t.verbose&&console.warn("Relation",w.type+"/"+w.id,"member",j+"/"+k,"ignored because it has an invalid type")}else t.verbose&&console.warn("Relation",w.type+"/"+w.id,"ignored because it has no members")}var O,E={type:"FeatureCollection",features:new Array};for(p=0;p<b.length;p++)if("undefined"!=typeof b[p].lon&&"undefined"!=typeof b[p].lat){var x={type:"Feature",id:b[p].type+"/"+b[p].id,properties:{type:b[p].type,id:b[p].id,tags:b[p].tags||{},relations:A.node[b[p].id]||[],meta:u(b[p])},geometry:{type:"Point",coordinates:[+b[p].lon,+b[p].lat]}};b[p].__is_center_placeholder&&(x.properties.geometry="center"),E.features.push(x)}else t.verbose&&console.warn("POI",b[p].type+"/"+b[p].id,"ignored because it lacks coordinates");for(var M={type:"FeatureCollection",features:new Array},T={type:"FeatureCollection",features:new Array},p=0;p<r.length;p++)if(_[r[p].id]===r[p]&&"undefined"!=typeof r[p].tags&&("multipolygon"==r[p].tags.type||"boundary"==r[p].tags.type)){if(!o.isArray(r[p].members)){t.verbose&&console.warn("Multipolygon",r[p].type+"/"+r[p].id,"ignored because it has no members");continue}for(var N=0,d=0;d<r[p].members.length;d++)"outer"==r[p].members[d].role?N++:t.verbose&&"inner"!=r[p].members[d].role&&console.warn("Multipolygon",r[p].type+"/"+r[p].id,"member",r[p].members[d].type+"/"+r[p].members[d].ref,'ignored because it has an invalid role: "'+r[p].members[d].role+'"');if(r[p].members.forEach(function(e){g[e.ref]&&("outer"!==e.role||i(g[e.ref].tags,r[p].tags)||(g[e.ref].is_multipolygon_outline=!0),"inner"!==e.role||i(g[e.ref].tags)||(g[e.ref].is_multipolygon_outline=!0))}),0==N){t.verbose&&console.warn("Multipolygon relation",r[p].type+"/"+r[p].id,"ignored because it has no outer ways");continue}var P=!1;1!=N||i(r[p].tags,{type:!0})||(P=!0);var x=null;if(P){var B=r[p].members.filter(function(e){return"outer"===e.role})[0];if(B=g[B.ref],void 0===B){t.verbose&&console.warn("Multipolygon relation",r[p].type+"/"+r[p].id,"ignored because outer way",B.type+"/"+B.ref,"is missing");continue}B.is_multipolygon_outline=!0,x=s(B,r[p])}else x=s(r[p],r[p]);if(x===!1){t.verbose&&console.warn("Multipolygon relation",r[p].type+"/"+r[p].id,"ignored because it has invalid geometry");continue}T.features.push(x)}for(var p=0;p<n.length;p++)if(o.isArray(n[p].nodes)){if(!n[p].is_multipolygon_outline){"number"!=typeof n[p].id&&(n[p].id=+n[p].id.replace("_fullGeom","")),n[p].tainted=!1,n[p].hidden=!1;var F=new Array;for(d=0;d<n[p].nodes.length;d++)"object"==typeof n[p].nodes[d]?F.push([+n[p].nodes[d].lon,+n[p].nodes[d].lat]):(t.verbose&&console.warn("Way",n[p].type+"/"+n[p].id,"is tainted by an invalid node"),n[p].tainted=!0);if(F.length<=1)t.verbose&&console.warn("Way",n[p].type+"/"+n[p].id,"ignored because it contains too few nodes");else{var S="LineString";"undefined"!=typeof n[p].nodes[0]&&n[p].nodes[0]===n[p].nodes[n[p].nodes.length-1]&&("undefined"!=typeof n[p].tags&&l(n[p].tags)||n[p].__is_bounds_placeholder)&&(S="Polygon",F=[F]);var x={type:"Feature",id:n[p].type+"/"+n[p].id,properties:{type:n[p].type,id:n[p].id,tags:n[p].tags||{},relations:A.way[n[p].id]||[],meta:u(n[p])},geometry:{type:S,coordinates:F}};n[p].tainted&&(t.verbose&&console.warn("Way",n[p].type+"/"+n[p].id,"is tainted"),x.properties.tainted=!0),n[p].__is_bounds_placeholder&&(x.properties.geometry="bounds"),"LineString"==S?M.features.push(x):T.features.push(x)}}}else t.verbose&&console.warn("Way",n[p].type+"/"+n[p].id,"ignored because it has no nodes");return O={type:"FeatureCollection",features:[]},O.features=O.features.concat(T.features),O.features=O.features.concat(M.features),O.features=O.features.concat(E.features),t.flatProperties&&O.features.forEach(function(e){e.properties=o.merge(e.properties.meta,e.properties.tags,{id:e.properties.type+"/"+e.properties.id})}),O=a(O,!0)}function l(e){var n=t.polygonFeatures;if("function"==typeof n)return n(e);if("no"===e.area)return!1;for(var r in e){var o=e[r],a=n[r];if("undefined"!=typeof a&&"no"!==o){if(a===!0)return!0;if(a.included_values&&a.included_values[o]===!0)return!0;if(a.excluded_values&&a.excluded_values[o]!==!0)return!0}}return!1}t=o.merge({verbose:!1,flatProperties:!1,uninterestingTags:{source:!0,source_ref:!0,"source:ref":!0,history:!0,attribution:!0,created_by:!0,"tiger:county":!0,"tiger:tlid":!0,"tiger:upload_uuid":!0},polygonFeatures:i,deduplicator:r},t);var c;return c="undefined"!=typeof XMLDocument&&e instanceof XMLDocument||"undefined"==typeof XMLDocument&&e.childNodes?u(e):n(e)},u.toGeojson=u,t.exports=u},{"./lodash.custom.js":2,"geojson-rewind":3,"osm-polygon-features":6}],2:[function(e,t,n){(function(e){(function(){function r(e,t){return e.set(t[0],t[1]),e}function o(e,t){return e.add(t),e}function a(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function i(e,t){for(var n=-1,r=e?e.length:0;++n<r&&t(e[n],n,e)!==!1;);return e}function u(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}function s(e,t,n,r){var o=-1,a=e?e.length:0;for(r&&a&&(n=e[++o]);++o<a;)n=t(n,e[o],o,e);return n}function l(e,t){for(var n=-1,r=e?e.length:0;++n<r;)if(t(e[n],n,e))return!0;return!1}function c(e){return function(t){return null==t?Tt:t[e]}}function f(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function p(e){return function(t){return e(t)}}function y(e,t){return null==e?Tt:e[t]}function d(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function g(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function v(e,t){return function(n){return e(t(n))}}function h(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}function b(){}function m(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function _(){this.__data__=or?or(null):{}}function w(e){return this.has(e)&&delete this.__data__[e]}function A(e){var t=this.__data__;if(or){var n=t[e];return n===Ft?Tt:n}return Rn.call(t,e)?t[e]:Tt}function j(e){var t=this.__data__;return or?t[e]!==Tt:Rn.call(t,e)}function k(e,t){var n=this.__data__;return n[e]=or&&t===Tt?Ft:t,this}function O(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function E(){this.__data__=[]}function x(e){var t=this.__data__,n=J(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():Hn.call(t,n,1),!0}function M(e){var t=this.__data__,n=J(t,e);return n<0?Tt:t[n][1]}function T(e){return J(this.__data__,e)>-1}function N(e,t){var n=this.__data__,r=J(n,e);return r<0?n.push([e,t]):n[r][1]=t,this}function P(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function B(){this.__data__={hash:new m,map:new(er||O),string:new m}}function F(e){return Ue(this,e).delete(e)}function S(e){return Ue(this,e).get(e)}function L(e){return Ue(this,e).has(e)}function I(e,t){return Ue(this,e).set(e,t),this}function D(e){var t=-1,n=e?e.length:0;for(this.__data__=new P;++t<n;)this.add(e[t])}function R(e){return this.__data__.set(e,Ft),this}function U(e){return this.__data__.has(e)}function $(e){this.__data__=new O(e)}function C(){this.__data__=new O}function G(e){return this.__data__.delete(e)}function z(e){return this.__data__.get(e)}function W(e){return this.__data__.has(e)}function q(e,t){var n=this.__data__;if(n instanceof O){var r=n.__data__;if(!er||r.length<Pt-1)return r.push([e,t]),this;n=this.__data__=new P(r)}return n.set(e,t),this}function V(e,t){var n=mr(e)||st(e)?f(e.length,String):[],r=n.length,o=!!r;for(var a in e)!t&&!Rn.call(e,a)||o&&("length"==a||Ve(a,r))||n.push(a);return n}function X(e,t,n){(n===Tt||ut(e[t],n))&&("number"!=typeof t||n!==Tt||t in e)||(e[t]=n)}function H(e,t,n){var r=e[t];Rn.call(e,t)&&ut(r,n)&&(n!==Tt||t in e)||(e[t]=n)}function J(e,t){for(var n=e.length;n--;)if(ut(e[n][0],t))return n;return-1}function K(e,t){return e&&Te(t,At(t),e)}function Q(e,t,n,r,o,a,u){var s;if(r&&(s=a?r(e,o,a,u):r(e)),s!==Tt)return s;if(!dt(e))return e;var l=mr(e);if(l){if(s=ze(e),!t)return Me(e,s)}else{var c=hr(e),f=c==zt||c==Wt;if(_r(e))return _e(e,t);if(c==Xt||c==Rt||f&&!a){if(d(e))return a?e:{};if(s=We(f?{}:e),!t)return Ne(e,K(s,e))}else{if(!An[c])return a?e:{};s=qe(e,c,Q,t)}}u||(u=new $);var p=u.get(e);if(p)return p;if(u.set(e,s),!l)var y=n?De(e):At(e);return i(y||e,function(o,a){y&&(a=o,o=e[a]),H(s,a,Q(o,t,n,r,a,e,u))}),s}function Y(e){return dt(e)?Vn(e):{}}function Z(e,t){return e&&gr(e,t,At)}function ee(e,t){t=He(t,e)?[t]:me(t);for(var n=0,r=t.length;null!=e&&n<r;)e=e[tt(t[n++])];return n&&n==r?e:Tt}function te(e,t,n){var r=t(e);return mr(e)?r:u(r,n(e))}function ne(e){return $n.call(e)}function re(e,t){return null!=e&&t in Object(e)}function oe(e,t,n,r,o){return e===t||(null==e||null==t||!dt(e)&&!gt(t)?e!==e&&t!==t:ae(e,t,oe,n,r,o))}function ae(e,t,n,r,o,a){var i=mr(e),u=mr(t),s=Ut,l=Ut;i||(s=hr(e),s=s==Rt?Xt:s),u||(l=hr(t),l=l==Rt?Xt:l);var c=s==Xt&&!d(e),f=l==Xt&&!d(t),p=s==l;if(p&&!c)return a||(a=new $),i||wr(e)?Se(e,t,n,r,o,a):Le(e,t,s,n,r,o,a);if(!(o&Lt)){var y=c&&Rn.call(e,"__wrapped__"),g=f&&Rn.call(t,"__wrapped__");if(y||g){var v=y?e.value():e,h=g?t.value():t;return a||(a=new $),n(v,h,r,o,a)}}return!!p&&(a||(a=new $),Ie(e,t,n,r,o,a))}function ie(e,t,n,r){var o=n.length,a=o,i=!r;if(null==e)return!a;for(e=Object(e);o--;){var u=n[o];if(i&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++o<a;){u=n[o];var s=u[0],l=e[s],c=u[1];if(i&&u[2]){if(l===Tt&&!(s in e))return!1}else{var f=new $;if(r)var p=r(l,c,s,e,t,f);if(!(p===Tt?oe(c,l,r,St|Lt,f):p))return!1}}return!0}function ue(e){if(!dt(e)||Ke(e))return!1;var t=pt(e)||d(e)?Cn:mn;return t.test(nt(e))}function se(e){return gt(e)&&yt(e.length)&&!!wn[$n.call(e)]}function le(e){return"function"==typeof e?e:null==e?kt:"object"==typeof e?mr(e)?ye(e[0],e[1]):pe(e):Et(e)}function ce(e){if(!Qe(e))return Qn(e);var t=[];for(var n in Object(e))Rn.call(e,n)&&"constructor"!=n&&t.push(n);return t}function fe(e){if(!dt(e))return et(e);var t=Qe(e),n=[];for(var r in e)("constructor"!=r||!t&&Rn.call(e,r))&&n.push(r);return n}function pe(e){var t=$e(e);return 1==t.length&&t[0][2]?Ze(t[0][0],t[0][1]):function(n){return n===e||ie(n,e,t)}}function ye(e,t){return He(e)&&Ye(t)?Ze(tt(e),t):function(n){var r=_t(n,e);return r===Tt&&r===t?wt(n,e):oe(t,r,Tt,St|Lt)}}function de(e,t,n,r,o){if(e!==t){if(!mr(t)&&!wr(t))var a=fe(t);i(a||t,function(i,u){if(a&&(u=i,i=t[u]),dt(i))o||(o=new $),ge(e,t,u,n,de,r,o);else{var s=r?r(e[u],i,u+"",e,t,o):Tt;s===Tt&&(s=i),X(e,u,s)}})}}function ge(e,t,n,r,o,a,i){var u=e[n],s=t[n],l=i.get(s);if(l)return void X(e,n,l);var c=a?a(u,s,n+"",e,t,i):Tt,f=c===Tt;f&&(c=s,mr(s)||wr(s)?mr(u)?c=u:ct(u)?c=Me(u):(f=!1,c=Q(s,!0)):vt(s)||st(s)?st(u)?c=bt(u):!dt(u)||r&&pt(u)?(f=!1,c=Q(s,!0)):c=u:f=!1),f&&(i.set(s,c),o(c,s,r,a,i),i.delete(s)),X(e,n,c)}function ve(e){return function(t){return ee(t,e)}}function he(e,t){return t=Yn(t===Tt?e.length-1:t,0),function(){for(var n=arguments,r=-1,o=Yn(n.length-t,0),i=Array(o);++r<o;)i[r]=n[t+r];r=-1;for(var u=Array(t+1);++r<t;)u[r]=n[r];return u[t]=i,a(e,this,u)}}function be(e){if("string"==typeof e)return e;if(ht(e))return yr?yr.call(e):"";var t=e+"";return"0"==t&&1/e==-It?"-0":t}function me(e){return mr(e)?e:br(e)}function _e(e,t){if(t)return e.slice();var n=new e.constructor(e.length);return e.copy(n),n}function we(e){var t=new e.constructor(e.byteLength);return new Wn(t).set(new Wn(e)),t}function Ae(e,t){var n=t?we(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function je(e,t,n){var o=t?n(g(e),!0):g(e);return s(o,r,new e.constructor)}function ke(e){var t=new e.constructor(e.source,bn.exec(e));return t.lastIndex=e.lastIndex,t}function Oe(e,t,n){var r=t?n(h(e),!0):h(e);return s(r,o,new e.constructor)}function Ee(e){return pr?Object(pr.call(e)):{}}function xe(e,t){var n=t?we(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Me(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}function Te(e,t,n,r){n||(n={});for(var o=-1,a=t.length;++o<a;){var i=t[o],u=r?r(n[i],e[i],i,n,e):Tt;H(n,i,u===Tt?e[i]:u)}return n}function Ne(e,t){return Te(e,vr(e),t)}function Pe(e){return he(function(t,n){var r=-1,o=n.length,a=o>1?n[o-1]:Tt,i=o>2?n[2]:Tt;for(a=e.length>3&&"function"==typeof a?(o--,a):Tt,i&&Xe(n[0],n[1],i)&&(a=o<3?Tt:a,o=1),t=Object(t);++r<o;){var u=n[r];u&&e(t,u,r,a)}return t})}function Be(e,t){return function(n,r){if(null==n)return n;if(!lt(n))return e(n,r);for(var o=n.length,a=t?o:-1,i=Object(n);(t?a--:++a<o)&&r(i[a],a,i)!==!1;);return n}}function Fe(e){return function(t,n,r){for(var o=-1,a=Object(t),i=r(t),u=i.length;u--;){var s=i[e?u:++o];if(n(a[s],s,a)===!1)break}return t}}function Se(e,t,n,r,o,a){var i=o&Lt,u=e.length,s=t.length;if(u!=s&&!(i&&s>u))return!1;var c=a.get(e);if(c&&a.get(t))return c==t;var f=-1,p=!0,y=o&St?new D:Tt;for(a.set(e,t),a.set(t,e);++f<u;){var d=e[f],g=t[f];if(r)var v=i?r(g,d,f,t,e,a):r(d,g,f,e,t,a);if(v!==Tt){if(v)continue;p=!1;break}if(y){if(!l(t,function(e,t){if(!y.has(t)&&(d===e||n(d,e,r,o,a)))return y.add(t)})){p=!1;break}}else if(d!==g&&!n(d,g,r,o,a)){p=!1;break}}return a.delete(e),a.delete(t),p}function Le(e,t,n,r,o,a,i){switch(n){case tn:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case en:return!(e.byteLength!=t.byteLength||!r(new Wn(e),new Wn(t)));case $t:case Ct:case Vt:return ut(+e,+t);case Gt:return e.name==t.name&&e.message==t.message;case Jt:case Qt:return e==t+"";case qt:var u=g;case Kt:var s=a≪if(u||(u=h),e.size!=t.size&&!s)return!1;var l=i.get(e);if(l)return l==t;a|=St,i.set(e,t);var c=Se(u(e),u(t),r,o,a,i);return i.delete(e),c;case Yt:if(pr)return pr.call(e)==pr.call(t)}return!1}function Ie(e,t,n,r,o,a){var i=o&Lt,u=At(e),s=u.length,l=At(t),c=l.length;if(s!=c&&!i)return!1;for(var f=s;f--;){var p=u[f];if(!(i?p in t:Rn.call(t,p)))return!1}var y=a.get(e);if(y&&a.get(t))return y==t;var d=!0;a.set(e,t),a.set(t,e);for(var g=i;++f<s;){p=u[f];var v=e[p],h=t[p];if(r)var b=i?r(h,v,p,t,e,a):r(v,h,p,e,t,a);if(!(b===Tt?v===h||n(v,h,r,o,a):b)){d=!1;break}g||(g="constructor"==p)}if(d&&!g){var m=e.constructor,_=t.constructor;m!=_&&"constructor"in e&&"constructor"in t&&!("function"==typeof m&&m instanceof m&&"function"==typeof _&&_ instanceof _)&&(d=!1)}return a.delete(e),a.delete(t),d}function De(e){return te(e,At,vr)}function Re(){var e=b.iteratee||Ot;return e=e===Ot?le:e,arguments.length?e(arguments[0],arguments[1]):e}function Ue(e,t){var n=e.__data__;return Je(t)?n["string"==typeof t?"string":"hash"]:n.map}function $e(e){for(var t=At(e),n=t.length;n--;){var r=t[n],o=e[r];t[n]=[r,o,Ye(o)]}return t}function Ce(e,t){var n=y(e,t);return ue(n)?n:Tt}function Ge(e,t,n){t=He(t,e)?[t]:me(t);for(var r,o=-1,a=t.length;++o<a;){var i=tt(t[o]);if(!(r=null!=e&&n(e,i)))break;e=e[i]}if(r)return r;var a=e?e.length:0;return!!a&&yt(a)&&Ve(i,a)&&(mr(e)||st(e))}function ze(e){var t=e.length,n=e.constructor(t);return t&&"string"==typeof e[0]&&Rn.call(e,"index")&&(n.index=e.index,n.input=e.input),n}function We(e){return"function"!=typeof e.constructor||Qe(e)?{}:Y(qn(e))}function qe(e,t,n,r){var o=e.constructor;switch(t){case en:return we(e);case $t:case Ct:return new o((+e));case tn:return Ae(e,r);case nn:case rn:case on:case an:case un:case sn:case ln:case cn:case fn:return xe(e,r);case qt:return je(e,r,n);case Vt:case Qt:return new o(e);case Jt:return ke(e);case Kt:return Oe(e,r,n);case Yt:return Ee(e)}}function Ve(e,t){return t=null==t?Dt:t,!!t&&("number"==typeof e||_n.test(e))&&e>-1&&e%1==0&&e<t}function Xe(e,t,n){if(!dt(n))return!1;var r=typeof t;return!!("number"==r?lt(n)&&Ve(t,n.length):"string"==r&&t in n)&&ut(n[t],e)}function He(e,t){if(mr(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!ht(e))||(yn.test(e)||!pn.test(e)||null!=t&&e in Object(t))}function Je(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function Ke(e){return!!In&&In in e}function Qe(e){var t=e&&e.constructor,n="function"==typeof t&&t.prototype||Sn;return e===n}function Ye(e){return e===e&&!dt(e)}function Ze(e,t){return function(n){return null!=n&&(n[e]===t&&(t!==Tt||e in Object(n)))}}function et(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}function tt(e){if("string"==typeof e||ht(e))return e;var t=e+"";return"0"==t&&1/e==-It?"-0":t}function nt(e){if(null!=e){try{return Dn.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function rt(e){for(var t=-1,n=e?e.length:0,r=0,o=[];++t<n;){var a=e[t];a&&(o[r++]=a)}return o}function ot(e,t){var n=mr(e)?i:dr;return n(e,Re(t,3))}function at(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError(Bt);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],a=n.cache;if(a.has(o))return a.get(o);var i=e.apply(this,r);return n.cache=a.set(o,i),i};return n.cache=new(at.Cache||P),n}function it(e){return Q(e,!1,!0)}function ut(e,t){return e===t||e!==e&&t!==t}function st(e){return ct(e)&&Rn.call(e,"callee")&&(!Xn.call(e,"callee")||$n.call(e)==Rt)}function lt(e){return null!=e&&yt(e.length)&&!pt(e)}function ct(e){return gt(e)&<(e)}function ft(e){if(lt(e)&&(mr(e)||"string"==typeof e||"function"==typeof e.splice||_r(e)||st(e)))return!e.length;var t=hr(e);if(t==qt||t==Kt)return!e.size;if(ar||Qe(e))return!Qn(e).length;for(var n in e)if(Rn.call(e,n))return!1;return!0}function pt(e){var t=dt(e)?$n.call(e):"";return t==zt||t==Wt}function yt(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=Dt}function dt(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function gt(e){return!!e&&"object"==typeof e}function vt(e){if(!gt(e)||$n.call(e)!=Xt||d(e))return!1;var t=qn(e);if(null===t)return!0;var n=Rn.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Dn.call(n)==Un}function ht(e){return"symbol"==typeof e||gt(e)&&$n.call(e)==Yt}function bt(e){return Te(e,jt(e))}function mt(e){return null==e?"":be(e)}function _t(e,t,n){var r=null==e?Tt:ee(e,t);return r===Tt?n:r}function wt(e,t){return null!=e&&Ge(e,t,re)}function At(e){return lt(e)?V(e):ce(e)}function jt(e){return lt(e)?V(e,!0):fe(e)}function kt(e){return e}function Ot(e){return le("function"==typeof e?e:Q(e,!0))}function Et(e){return He(e)?c(tt(e)):ve(e)}function xt(){return[]}function Mt(){return!1}var Tt,Nt="4.15.0",Pt=200,Bt="Expected a function",Ft="__lodash_hash_undefined__",St=1,Lt=2,It=1/0,Dt=9007199254740991,Rt="[object Arguments]",Ut="[object Array]",$t="[object Boolean]",Ct="[object Date]",Gt="[object Error]",zt="[object Function]",Wt="[object GeneratorFunction]",qt="[object Map]",Vt="[object Number]",Xt="[object Object]",Ht="[object Promise]",Jt="[object RegExp]",Kt="[object Set]",Qt="[object String]",Yt="[object Symbol]",Zt="[object WeakMap]",en="[object ArrayBuffer]",tn="[object DataView]",nn="[object Float32Array]",rn="[object Float64Array]",on="[object Int8Array]",an="[object Int16Array]",un="[object Int32Array]",sn="[object Uint8Array]",ln="[object Uint8ClampedArray]",cn="[object Uint16Array]",fn="[object Uint32Array]",pn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,yn=/^\w*$/,dn=/^\./,gn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,vn=/[\\^$.*+?()[\]{}|]/g,hn=/\\(\\)?/g,bn=/\w*$/,mn=/^\[object .+?Constructor\]$/,_n=/^(?:0|[1-9]\d*)$/,wn={};wn[nn]=wn[rn]=wn[on]=wn[an]=wn[un]=wn[sn]=wn[ln]=wn[cn]=wn[fn]=!0,wn[Rt]=wn[Ut]=wn[en]=wn[$t]=wn[tn]=wn[Ct]=wn[Gt]=wn[zt]=wn[qt]=wn[Vt]=wn[Xt]=wn[Jt]=wn[Kt]=wn[Qt]=wn[Zt]=!1;var An={};An[Rt]=An[Ut]=An[en]=An[tn]=An[$t]=An[Ct]=An[nn]=An[rn]=An[on]=An[an]=An[un]=An[qt]=An[Vt]=An[Xt]=An[Jt]=An[Kt]=An[Qt]=An[Yt]=An[sn]=An[ln]=An[cn]=An[fn]=!0,An[Gt]=An[zt]=An[Zt]=!1;var jn="object"==typeof e&&e&&e.Object===Object&&e,kn="object"==typeof self&&self&&self.Object===Object&&self,On=jn||kn||Function("return this")(),En="object"==typeof n&&n&&!n.nodeType&&n,xn=En&&"object"==typeof t&&t&&!t.nodeType&&t,Mn=xn&&xn.exports===En,Tn=Mn&&jn.process,Nn=function(){try{return Tn&&Tn.binding("util")}catch(e){}}(),Pn=Nn&&Nn.isTypedArray,Bn=Array.prototype,Fn=Function.prototype,Sn=Object.prototype,Ln=On["__core-js_shared__"],In=function(){var e=/[^.]+$/.exec(Ln&&Ln.keys&&Ln.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),Dn=Fn.toString,Rn=Sn.hasOwnProperty,Un=Dn.call(Object),$n=Sn.toString,Cn=RegExp("^"+Dn.call(Rn).replace(vn,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Gn=Mn?On.Buffer:Tt,zn=On.Symbol,Wn=On.Uint8Array,qn=v(Object.getPrototypeOf,Object),Vn=Object.create,Xn=Sn.propertyIsEnumerable,Hn=Bn.splice,Jn=Object.getOwnPropertySymbols,Kn=Gn?Gn.isBuffer:Tt,Qn=v(Object.keys,Object),Yn=Math.max,Zn=Ce(On,"DataView"),er=Ce(On,"Map"),tr=Ce(On,"Promise"),nr=Ce(On,"Set"),rr=Ce(On,"WeakMap"),or=Ce(Object,"create"),ar=!Xn.call({valueOf:1},"valueOf"),ir=nt(Zn),ur=nt(er),sr=nt(tr),lr=nt(nr),cr=nt(rr),fr=zn?zn.prototype:Tt,pr=fr?fr.valueOf:Tt,yr=fr?fr.toString:Tt;m.prototype.clear=_,m.prototype.delete=w,m.prototype.get=A,m.prototype.has=j,m.prototype.set=k,O.prototype.clear=E,O.prototype.delete=x,O.prototype.get=M,O.prototype.has=T,O.prototype.set=N,P.prototype.clear=B,P.prototype.delete=F,P.prototype.get=S,P.prototype.has=L,P.prototype.set=I,D.prototype.add=D.prototype.push=R,D.prototype.has=U,$.prototype.clear=C,$.prototype.delete=G,$.prototype.get=z,$.prototype.has=W,$.prototype.set=q;var dr=Be(Z),gr=Fe(),vr=Jn?v(Jn,Object):xt,hr=ne;(Zn&&hr(new Zn(new ArrayBuffer(1)))!=tn||er&&hr(new er)!=qt||tr&&hr(tr.resolve())!=Ht||nr&&hr(new nr)!=Kt||rr&&hr(new rr)!=Zt)&&(hr=function(e){var t=$n.call(e),n=t==Xt?e.constructor:Tt,r=n?nt(n):Tt;if(r)switch(r){case ir:return tn;case ur:return qt;case sr:return Ht;
|
|
2
|
-
case lr:return Kt;case cr:return Zt}return t});var br=at(function(e){e=mt(e);var t=[];return dn.test(e)&&t.push(""),e.replace(gn,function(e,n,r,o){t.push(r?o.replace(hn,"$1"):n||e)}),t});at.Cache=P;var mr=Array.isArray,_r=Kn||Mt,wr=Pn?p(Pn):se,Ar=Pe(function(e,t,n){de(e,t,n)});b.compact=rt,b.iteratee=Ot,b.keys=At,b.keysIn=jt,b.memoize=at,b.merge=Ar,b.property=Et,b.toPlainObject=bt,b.clone=it,b.eq=ut,b.forEach=ot,b.get=_t,b.hasIn=wt,b.identity=kt,b.isArguments=st,b.isArray=mr,b.isArrayLike=lt,b.isArrayLikeObject=ct,b.isBuffer=_r,b.isEmpty=ft,b.isFunction=pt,b.isLength=yt,b.isObject=dt,b.isObjectLike=gt,b.isPlainObject=vt,b.isSymbol=ht,b.isTypedArray=wr,b.stubArray=xt,b.stubFalse=Mt,b.toString=mt,b.each=ot,b.VERSION=Nt,xn&&((xn.exports=b)._=b,En._=b)}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],3:[function(e,t,n){function r(e,t){switch(e&&e.type||null){case"FeatureCollection":return e.features=e.features.map(o(r,t)),e;case"Feature":return e.geometry=r(e.geometry,t),e;case"Polygon":case"MultiPolygon":return a(e,t);default:return e}}function o(e,t){return function(n){return e(n,t)}}function a(e,t){return"Polygon"===e.type?e.coordinates=i(e.coordinates,t):"MultiPolygon"===e.type&&(e.coordinates=e.coordinates.map(o(i,t))),e}function i(e,t){t=!!t,e[0]=u(e[0],!t);for(var n=1;n<e.length;n++)e[n]=u(e[n],t);return e}function u(e,t){return s(e)===t?e:e.reverse()}function s(e){return l.ring(e)>=0}var l=e("geojson-area");t.exports=r},{"geojson-area":4}],4:[function(e,t,n){function r(e){if("Polygon"===e.type)return o(e.coordinates);if("MultiPolygon"===e.type){for(var t=0,n=0;n<e.coordinates.length;n++)t+=o(e.coordinates[n]);return t}return null}function o(e){var t=0;if(e&&e.length>0){t+=Math.abs(a(e[0]));for(var n=1;n<e.length;n++)t-=Math.abs(a(e[n]))}return t}function a(e){var t=0;if(e.length>2){for(var n,r,o=0;o<e.length-1;o++)n=e[o],r=e[o+1],t+=i(r[0]-n[0])*(2+Math.sin(i(n[1]))+Math.sin(i(r[1])));t=t*u.RADIUS*u.RADIUS/2}return t}function i(e){return e*Math.PI/180}var u=e("wgs84");t.exports.geometry=r,t.exports.ring=a},{wgs84:5}],5:[function(e,t,n){t.exports.RADIUS=6378137,t.exports.FLATTENING=1/298.257223563,t.exports.POLAR_RADIUS=6356752.3142},{}],6:[function(e,t,n){t.exports=e("./polygon-features.json")},{"./polygon-features.json":7}],7:[function(e,t,n){t.exports=[{key:"building",polygon:"all"},{key:"highway",polygon:"whitelist",values:["services","rest_area","escape","elevator"]},{key:"natural",polygon:"blacklist",values:["coastline","cliff","ridge","arete","tree_row"]},{key:"landuse",polygon:"all"},{key:"waterway",polygon:"whitelist",values:["riverbank","dock","boatyard","dam"]},{key:"amenity",polygon:"all"},{key:"leisure",polygon:"all"},{key:"barrier",polygon:"whitelist",values:["city_wall","ditch","hedge","retaining_wall","wall","spikes"]},{key:"railway",polygon:"whitelist",values:["station","turntable","roundhouse","platform"]},{key:"area",polygon:"all"},{key:"boundary",polygon:"all"},{key:"man_made",polygon:"blacklist",values:["cutline","embankment","pipeline"]},{key:"power",polygon:"whitelist",values:["plant","substation","generator","transformer"]},{key:"place",polygon:"all"},{key:"shop",polygon:"all"},{key:"aeroway",polygon:"blacklist",values:["taxiway"]},{key:"tourism",polygon:"all"},{key:"historic",polygon:"all"},{key:"public_transport",polygon:"all"},{key:"office",polygon:"all"},{key:"building:part",polygon:"all"},{key:"military",polygon:"all"},{key:"ruins",polygon:"all"},{key:"area:highway",polygon:"all"},{key:"craft",polygon:"all"},{key:"golf",polygon:"all"}]},{}]},{},[1])(1)});
|
|
1
|
+
!function(e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).osmtogeojson=e()}(function(){return function r(o,i,a){function u(t,e){if(!i[t]){if(!o[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(s)return s(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}n=i[t]={exports:{}},o[t][0].call(n.exports,function(e){return u(o[t][1][e]||e)},n,n.exports,r,o,i,a)}return i[t].exports}for(var s="function"==typeof require&&require,e=0;e<a.length;e++)u(a[e]);return u}({1:[function(e,t,n){var F=e("./lodash.custom.js"),L=e("@mapbox/geojson-rewind"),r={};function o(e,t){return(e.version||t.version)&&e.version!==t.version?(+e.version||0)>(+t.version||0)?e:t:F.merge(e,t)}e("osm-polygon-features").forEach(function(e){var t,n;"all"===e.polygon?r[e.key]=!0:(t="whitelist"===e.polygon?"included_values":"excluded_values",n={},e.values.forEach(function(e){n[e]=!0}),r[e.key]={},r[e.key][t]=n)});function P(e){function t(e){return e[e.length-1]}function n(e,t){return void 0!==e&&void 0!==t&&e.id===t.id}for(var r,o,i,a,u,s,l=[];e.length;)for(r=e.pop().nodes.slice(),l.push(r);e.length&&!n(r[0],t(r));){for(o=r[0],i=t(r),a=0;a<e.length;a++){if(n(i,(s=e[a].nodes)[0])){u=r.push,s=s.slice(1);break}if(n(i,t(s))){u=r.push,s=s.slice(0,-1).reverse();break}if(n(o,t(s))){u=r.unshift,s=s.slice(0,-1);break}if(n(o,s[0])){u=r.unshift,s=s.slice(1).reverse();break}s=u=null}if(!s)break;e.splice(a,1),u.apply(r,s)}return l}t.exports=(e=function(e,N,S){var t,a,u,s,l,c;function f(e,t,n){e.hasAttribute(n)&&(t[n]=e.getAttribute(n))}function p(e,t){e=F.clone(e);f(t,e,"lat"),f(t,e,"lon"),e.__is_center_placeholder=!0,s.push(e)}function y(e,t){var r=F.clone(e);function n(e,t,n){n={type:"node",id:"_"+r.type+"/"+r.id+"bounds"+n,lat:e,lon:t};r.nodes.push(n.id),s.push(n)}r.nodes=[],n(t.getAttribute("minlat"),t.getAttribute("minlon"),1),n(t.getAttribute("maxlat"),t.getAttribute("minlon"),2),n(t.getAttribute("maxlat"),t.getAttribute("maxlon"),3),n(t.getAttribute("minlat"),t.getAttribute("maxlon"),4),r.nodes.push(r.nodes[0]),r.__is_bounds_placeholder=!0,l.push(r)}function d(r,e){F.isArray(r.nodes)||(r.nodes=[],F.each(e,function(e,t){r.nodes.push("_anonymous@"+e.getAttribute("lat")+"/"+e.getAttribute("lon"))})),F.each(e,function(e,t){var n;e.getAttribute("lat")&&(n=e.getAttribute("lat"),e=e.getAttribute("lon"),t={type:"node",id:t=r.nodes[t],lat:n,lon:e},s.push(t))})}function g(i,e){function a(e,t){var n;l.some(function(e){return"way"==e.type&&e.id==t})||(n={type:"way",id:t,nodes:[]},F.each(e,function(e){var t;e.getAttribute("lat")?(t=e.getAttribute("lat"),e=e.getAttribute("lon"),t={type:"node",id:"_anonymous@"+t+"/"+e,lat:t,lon:e},n.nodes.push(t.id),s.push(t)):n.nodes.push(void 0)}),l.push(n))}F.each(e,function(e,t){var n,r,o;"node"==i.members[t].type?e.getAttribute("lat")&&(n=e.getAttribute("lat"),r=e.getAttribute("lon"),o=i.members[t].ref,s.push({type:"node",id:o,lat:n,lon:r})):"way"==i.members[t].type&&0<e.getElementsByTagName("nd").length&&(i.members[t].ref="_fullGeom"+i.members[t].ref,a(e.getElementsByTagName("nd"),i.members[t].ref))})}return N=F.merge({verbose:!1,flatProperties:!0,uninterestingTags:{source:!0,source_ref:!0,"source:ref":!0,history:!0,attribution:!0,created_by:!0,"tiger:county":!0,"tiger:tlid":!0,"tiger:upload_uuid":!0},polygonFeatures:r,deduplicator:o},N),"undefined"!=typeof XMLDocument&&e instanceof XMLDocument||"undefined"==typeof XMLDocument&&e.childNodes?(t=e,s=new Array,l=new Array,c=new Array,F.each(t.getElementsByTagName("node"),function(e,t){var n={},r=(F.each(e.getElementsByTagName("tag"),function(e){n[e.getAttribute("k")]=e.getAttribute("v")}),{type:"node"});f(e,r,"id"),f(e,r,"lat"),f(e,r,"lon"),f(e,r,"version"),f(e,r,"timestamp"),f(e,r,"changeset"),f(e,r,"uid"),f(e,r,"user"),F.isEmpty(n)||(r.tags=n),s.push(r)}),F.each(t.getElementsByTagName("way"),function(e,t){var n={},r=[],o=(F.each(e.getElementsByTagName("tag"),function(e){n[e.getAttribute("k")]=e.getAttribute("v")}),!1),i=(F.each(e.getElementsByTagName("nd"),function(e,t){var n;(n=e.getAttribute("ref"))&&(r[t]=n),!o&&e.getAttribute("lat")&&(o=!0)}),{type:"way"});f(e,i,"id"),f(e,i,"version"),f(e,i,"timestamp"),f(e,i,"changeset"),f(e,i,"uid"),f(e,i,"user"),0<r.length&&(i.nodes=r),F.isEmpty(n)||(i.tags=n),(a=e.getElementsByTagName("center")[0])&&p(i,a),o?d(i,e.getElementsByTagName("nd")):(u=e.getElementsByTagName("bounds")[0])&&y(i,u),l.push(i)}),F.each(t.getElementsByTagName("relation"),function(e,t){var n={},r=[],o=(F.each(e.getElementsByTagName("tag"),function(e){n[e.getAttribute("k")]=e.getAttribute("v")}),!1),i=(F.each(e.getElementsByTagName("member"),function(e,t){r[t]={},f(e,r[t],"ref"),f(e,r[t],"role"),f(e,r[t],"type"),(!o&&"node"==r[t].type&&e.getAttribute("lat")||"way"==r[t].type&&0<e.getElementsByTagName("nd").length)&&(o=!0)}),{type:"relation"});f(e,i,"id"),f(e,i,"version"),f(e,i,"timestamp"),f(e,i,"changeset"),f(e,i,"uid"),f(e,i,"user"),0<r.length&&(i.members=r),F.isEmpty(n)||(i.tags=n),(a=e.getElementsByTagName("center")[0])&&p(i,a),o?g(i,e.getElementsByTagName("member")):(u=e.getElementsByTagName("bounds")[0])&&y(i,u),c.push(i)}),h(s,l,c)):function(e){var a=new Array,o=new Array,t=new Array;function n(e){var t=F.clone(e);t.lat=e.center.lat,t.lon=e.center.lon,t.__is_center_placeholder=!0,a.push(t)}function r(e){var r=F.clone(e);function t(e,t,n){n={type:"node",id:"_"+r.type+"/"+r.id+"bounds"+n,lat:e,lon:t};r.nodes.push(n.id),a.push(n)}r.nodes=[],t(r.bounds.minlat,r.bounds.minlon,1),t(r.bounds.maxlat,r.bounds.minlon,2),t(r.bounds.maxlat,r.bounds.maxlon,3),t(r.bounds.minlat,r.bounds.maxlon,4),r.nodes.push(r.nodes[0]),r.__is_bounds_placeholder=!0,o.push(r)}function i(r){F.isArray(r.nodes)||(r.nodes=r.geometry.map(function(e){return null!==e?"_anonymous@"+e.lat+"/"+e.lon:"_anonymous@unknown_location"})),r.geometry.forEach(function(e,t){var n;e&&(n=e.lat,e=e.lon,t=r.nodes[t],a.push({type:"node",id:t,lat:n,lon:e}))})}function u(e){function i(e,t){var n;o.some(function(e){return"way"==e.type&&e.id==t})||(n={type:"way",id:t,nodes:[]},e.forEach(function(e){var t;e?(t=e.lat,e=e.lon,t={type:"node",id:"_anonymous@"+t+"/"+e,lat:t,lon:e},n.nodes.push(t.id),a.push(t)):n.nodes.push(void 0)}),o.push(n))}e.members.forEach(function(e,t){var n,r,o;"node"==e.type?e.lat&&(n=e.lat,r=e.lon,o=e.ref,a.push({type:"node",id:o,lat:n,lon:r})):"way"==e.type&&e.geometry&&(e.ref="_fullGeom"+e.ref,i(e.geometry,e.ref))})}for(var s=0;s<e.elements.length;s++)switch(e.elements[s].type){case"node":var l=e.elements[s];a.push(l);break;case"way":l=F.clone(e.elements[s]);l.nodes=F.clone(l.nodes),o.push(l),l.center&&n(l),l.geometry?i(l):l.bounds&&r(l);break;case"relation":var c=F.clone(e.elements[s]),f=(c.members=F.clone(c.members),t.push(c),c.members&&c.members.some(function(e){return"node"==e.type&&e.lat||"way"==e.type&&e.geometry&&0<e.geometry.length}));c.center&&n(c),f?u(c):c.bounds&&r(c)}return h(a,o,t)}(e);function h(e,t,n){function r(e,t){if("object"!=typeof t&&(t={}),"function"==typeof N.uninterestingTags)return!N.uninterestingTags(e,t);for(var n in e)if(!0!==N.uninterestingTags[n]&&!0!==t[n]&&t[n]!==e[n])return 1}function p(e){var t,n={timestamp:e.timestamp,version:e.version,changeset:e.changeset,user:e.user,uid:e.uid};for(t in n)void 0===n[t]&&delete n[t];return n}for(var o=new Object,i=new Object,a=0;a<e.length;a++)void 0!==(o[(f=void 0!==o[(f=e[a]).id]?N.deduplicator(f,o[f.id]):f).id]=f).tags&&r(f.tags)&&(i[f.id]=!0);for(a=0;a<n.length;a++)if(F.isArray(n[a].members))for(var u=0;u<n[a].members.length;u++)"node"==n[a].members[u].type&&(i[n[a].members[u].ref]=!0);for(var y=new Object,s=new Object,a=0;a<t.length;a++){var l=t[a];if(y[l.id]&&(l=N.deduplicator(l,y[l.id])),y[l.id]=l,F.isArray(l.nodes))for(u=0;u<l.nodes.length;u++)"object"!=typeof l.nodes[u]&&(s[l.nodes[u]]=!0,l.nodes[u]=o[l.nodes[u]])}var c=new Array;for(g in o){var f=o[g];s[g]&&!i[g]||c.push(f)}for(var d=new Array,a=0;a<n.length;a++)d[(m=d[(m=n[a]).id]?N.deduplicator(m,d[m.id]):m).id]=m;var g,h,b={node:{},way:{},relation:{}};for(g in d){var m=d[g];if(F.isArray(m.members))for(u=0;u<m.members.length;u++){var v=m.members[u].type,_=m.members[u].ref;"number"!=typeof _&&(_=_.replace("_fullGeom","")),b[v]?(void 0===b[v][_]&&(b[v][_]=[]),b[v][_].push({role:m.members[u].role,rel:m.id,reltags:m.tags})):N.verbose&&console.warn("Relation",m.type+"/"+m.id,"member",v+"/"+_,"ignored because it has an invalid type")}else N.verbose&&console.warn("Relation",m.type+"/"+m.id,"ignored because it has no members")}var w=[];for(a=0;a<c.length;a++)void 0===c[a].lon||void 0===c[a].lat?N.verbose&&console.warn("POI",c[a].type+"/"+c[a].id,"ignored because it lacks coordinates"):(E={type:"Feature",id:c[a].type+"/"+c[a].id,properties:{type:c[a].type,id:c[a].id,tags:c[a].tags||{},relations:b.node[c[a].id]||[],meta:p(c[a])},geometry:{type:"Point",coordinates:[+c[a].lon,+c[a].lat]}},c[a].__is_center_placeholder&&(E.properties.geometry="center"),S?S(E):w.push(E));for(var j=[],A=[],a=0;a<n.length;a++)if(d[n[a].id]===n[a]){if(void 0!==n[a].tags&&("route"==n[a].tags.type||"waterway"==n[a].tags.type)){if(!F.isArray(n[a].members)){N.verbose&&console.warn("Route",n[a].type+"/"+n[a].id,"ignored because it has no members");continue}if(n[a].members.forEach(function(e){y[e.ref]&&!r(y[e.ref].tags)&&(y[e.ref].is_skippablerelationmember=!0)}),!1===(E=function(n){var r=!1,e=(t=(t=n.members.filter(function(e){return"way"===e.type})).map(function(t){var e=y[t.ref];if(void 0!==e&&void 0!==e.nodes)return{id:t.ref,role:t.role,way:e,nodes:e.nodes.filter(function(e){return void 0!==e||(r=!0,N.verbose&&console.warn("Route",n.type+"/"+n.id,"tainted by a way",t.type+"/"+t.ref,"with a missing node"),!1)})};N.verbose&&console.warn("Route "+n.type+"/"+n.id,"tainted by a missing or incomplete way",t.type+"/"+t.ref),r=!0}),t=F.compact(t),t=P(t),[]);if(0==(e=F.compact(t.map(function(e){return F.compact(e.map(function(e){return[+e.lon,+e.lat]}))}))).length)return N.verbose&&console.warn("Route",n.type+"/"+n.id,"contains no coordinates"),!1;var t={type:"Feature",id:n.type+"/"+n.id,properties:{type:n.type,id:n.id,tags:n.tags||{},relations:b[n.type][n.id]||[],meta:p(n)},geometry:{type:1===e.length?"LineString":"MultiLineString",coordinates:1===e.length?e[0]:e}};r&&(N.verbose&&console.warn("Route",n.type+"/"+n.id,"is tainted"),t.properties.tainted=!0);return t}(n[a]))){N.verbose&&console.warn("Route relation",n[a].type+"/"+n[a].id,"ignored because it has invalid geometry");continue}S?S(L(E)):A.push(E)}if(void 0!==n[a].tags&&("multipolygon"==n[a].tags.type||"boundary"==n[a].tags.type)){if(F.isArray(n[a].members)){for(var k=0,u=0;u<n[a].members.length;u++)"outer"==n[a].members[u].role?k++:N.verbose&&"inner"!=n[a].members[u].role&&console.warn("Multipolygon",n[a].type+"/"+n[a].id,"member",n[a].members[u].type+"/"+n[a].members[u].ref,'ignored because it has an invalid role: "'+n[a].members[u].role+'"');if(n[a].members.forEach(function(e){y[e.ref]&&("outer"!==e.role||r(y[e.ref].tags,n[a].tags)||(y[e.ref].is_skippablerelationmember=!0),"inner"!==e.role||r(y[e.ref].tags)||(y[e.ref].is_skippablerelationmember=!0))}),0==k)N.verbose&&console.warn("Multipolygon relation",n[a].type+"/"+n[a].id,"ignored because it has no outer ways");else{var O=!1,E=null;if(O=1!=k||r(n[a].tags,{type:!0})?O:!0){var x=n[a].members.filter(function(e){return"outer"===e.role})[0];if(void 0===(x=y[x.ref])){N.verbose&&console.warn("Multipolygon relation",n[a].type+"/"+n[a].id,"ignored because outer way",x.type+"/"+x.ref,"is missing");continue}x.is_skippablerelationmember=!0,E=T(x,n[a])}else E=T(n[a],n[a]);!1===E?N.verbose&&console.warn("Multipolygon relation",n[a].type+"/"+n[a].id,"ignored because it has invalid geometry"):S?S(L(E)):A.push(E)}}else N.verbose&&console.warn("Multipolygon",n[a].type+"/"+n[a].id,"ignored because it has no members");function T(e,t){var n=!1,r=O?"way":"relation",o="number"==typeof e.id?e.id:+e.id.replace("_fullGeom","");function i(e){function t(e){return e.map(function(e){return[+e.lat,+e.lon]})}var n;for(e=t(e),n=0;n<a.length;n++)if(function(e,t){for(var n=0;n<t.length;n++)if(function(e,t){for(var n=e[0],r=e[1],o=false,i=0,a=t.length-1;i<t.length;a=i++){var u=t[i][0],s=t[i][1];var l=t[a][0],c=t[a][1];var f=s>r!=c>r&&n<(l-u)*(r-s)/(c-s)+u;if(f)o=!o}return o}(t[n],e))return!0;return!1}(t(a[n]),e))return n}t=(t=t.members.filter(function(e){return"way"===e.type})).map(function(t){var e=y[t.ref];if(void 0!==e&&void 0!==e.nodes)return{id:t.ref,role:t.role||"outer",way:e,nodes:e.nodes.filter(function(e){return void 0!==e||(n=!0,N.verbose&&console.warn("Multipolygon",r+"/"+o,"tainted by a way",t.type+"/"+t.ref,"with a missing node"),!1)})};N.verbose&&console.warn("Multipolygon",r+"/"+o,"tainted by a missing or incomplete way",t.type+"/"+t.ref),n=!0});for(var a=P((t=F.compact(t)).filter(function(e){return"outer"===e.role})),u=P(t.filter(function(e){return"inner"===e.role})),s=a.map(function(e){return[e]}),l=0;l<u.length;l++){var c=i(u[l]);void 0!==c?s[c].push(u[l]):N.verbose&&console.warn("Multipolygon",r+"/"+o,"contains an inner ring with no containing outer")}var f,t=[];return 0==(t=F.compact(s.map(function(e){e=F.compact(e.map(function(e){if(!(e.length<4))return F.compact(e.map(function(e){return[+e.lon,+e.lat]}));N.verbose&&console.warn("Multipolygon",r+"/"+o,"contains a ring with less than four nodes")}));if(0!=e.length)return e;N.verbose&&console.warn("Multipolygon",r+"/"+o,"contains an empty ring cluster")}))).length?(N.verbose&&console.warn("Multipolygon",r+"/"+o,"contains no coordinates"),!1):(f="MultiPolygon",1===t.length&&(f="Polygon",t=t[0]),e={type:"Feature",id:e.type+"/"+o,properties:{type:e.type,id:o,tags:e.tags||{},relations:b[e.type][e.id]||[],meta:p(e)},geometry:{type:f,coordinates:t}},n&&(N.verbose&&console.warn("Multipolygon",r+"/"+o,"is tainted"),e.properties.tainted=!0),e)}}}for(a=0;a<t.length;a++)if(y[t[a].id]===t[a])if(F.isArray(t[a].nodes)){if(!t[a].is_skippablerelationmember){"number"!=typeof t[a].id&&(t[a].id=+t[a].id.replace("_fullGeom","")),t[a].tainted=!1,t[a].hidden=!1;var M,B=new Array;for(u=0;u<t[a].nodes.length;u++)"object"==typeof t[a].nodes[u]?B.push([+t[a].nodes[u].lon,+t[a].nodes[u].lat]):(N.verbose&&console.warn("Way",t[a].type+"/"+t[a].id,"is tainted by an invalid node"),t[a].tainted=!0);B.length<=1?N.verbose&&console.warn("Way",t[a].type+"/"+t[a].id,"ignored because it contains too few nodes"):(M="LineString",void 0!==t[a].nodes[0]&&void 0!==t[a].nodes[t[a].nodes.length-1]&&t[a].nodes[0].id===t[a].nodes[t[a].nodes.length-1].id&&(void 0!==t[a].tags&&function(e){var t=N.polygonFeatures;if("function"==typeof t)return t(e);if("no"!==e.area)for(var n in e){var r=e[n],n=t[n];if(void 0!==n&&"no"!==r){if(!0===n)return 1;if(n.included_values&&!0===n.included_values[r])return 1;if(n.excluded_values&&!0!==n.excluded_values[r])return 1}}return}(t[a].tags)||t[a].__is_bounds_placeholder)&&(M="Polygon",B=[B]),E={type:"Feature",id:t[a].type+"/"+t[a].id,properties:{type:t[a].type,id:t[a].id,tags:t[a].tags||{},relations:b.way[t[a].id]||[],meta:p(t[a])},geometry:{type:M,coordinates:B}},t[a].tainted&&(N.verbose&&console.warn("Way",t[a].type+"/"+t[a].id,"is tainted"),E.properties.tainted=!0),t[a].__is_bounds_placeholder&&(E.properties.geometry="bounds"),S?S(L(E)):("LineString"==M?j:A).push(E))}}else N.verbose&&console.warn("Way",t[a].type+"/"+t[a].id,"ignored because it has no nodes");return!!S||((h={type:"FeatureCollection",features:[]}).features=h.features.concat(A),h.features=h.features.concat(j),h.features=h.features.concat(w),N.flatProperties&&h.features.forEach(function(e){e.properties=F.merge(e.properties.meta,e.properties.tags,{id:e.properties.type+"/"+e.properties.id})}),L(h))}}).toGeojson=e},{"./lodash.custom.js":2,"@mapbox/geojson-rewind":3,"osm-polygon-features":4}],2:[function(e,Ht,Jt){!function(Xt){!function(){!function(){var R,h="__lodash_hash_undefined__",I=1,$=2,b=1/0,_=9007199254740991,C="[object Arguments]",ee="[object Array]",te="[object Boolean]",ne="[object Date]",re="[object Error]",w="[object Function]",j="[object GeneratorFunction]",D="[object Map]",oe="[object Number]",G="[object Object]",A="[object Promise]",ie="[object RegExp]",U="[object Set]",ae="[object String]",ue="[object Symbol]",k="[object WeakMap]",se="[object ArrayBuffer]",z="[object DataView]",O="[object Float32Array]",E="[object Float64Array]",x="[object Int8Array]",T="[object Int16Array]",M="[object Int32Array]",B="[object Uint8Array]",N="[object Uint8ClampedArray]",S="[object Uint16Array]",F="[object Uint32Array]",L=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,P=/^\w*$/,le=/^\./,ce=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,fe=/\\(\\)?/g,pe=/\w*$/,ye=/^\[object .+?Constructor\]$/,de=/^(?:0|[1-9]\d*)$/,t={},d=(t[O]=t[E]=t[x]=t[T]=t[M]=t[B]=t[N]=t[S]=t[F]=!0,t[C]=t[ee]=t[se]=t[te]=t[z]=t[ne]=t[re]=t[w]=t[D]=t[oe]=t[G]=t[ie]=t[U]=t[ae]=t[k]=!1,{}),e=(d[C]=d[ee]=d[se]=d[z]=d[te]=d[ne]=d[O]=d[E]=d[x]=d[T]=d[M]=d[D]=d[oe]=d[G]=d[ie]=d[U]=d[ae]=d[ue]=d[B]=d[N]=d[S]=d[F]=!0,d[re]=d[w]=d[k]=!1,"object"==typeof Xt&&Xt&&Xt.Object===Object&&Xt),n="object"==typeof self&&self&&self.Object===Object&&self,n=e||n||Function("return this")(),ge="object"==typeof Jt&&Jt&&!Jt.nodeType&&Jt,he=ge&&"object"==typeof Ht&&Ht&&!Ht.nodeType&&Ht,be=he&&he.exports===ge,me=be&&e.process,e=function(){try{return me&&me.binding("util")}catch(e){}}(),e=e&&e.isTypedArray;function ve(e,t){return e.set(t[0],t[1]),e}function _e(e,t){return e.add(t),e}function we(e,t){for(var n=-1,r=e?e.length:0;++n<r&&!1!==t(e[n],n,e););return e}function je(e,t,n,r){var o=-1,i=e?e.length:0;for(r&&i&&(n=e[++o]);++o<i;)n=t(n,e[o],o,e);return n}function W(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function Ae(e){var n=-1,r=Array(e.size);return e.forEach(function(e,t){r[++n]=[t,e]}),r}function ke(t,n){return function(e){return t(n(e))}}function Oe(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var Ee=Array.prototype,r=Function.prototype,xe=Object.prototype,o=n["__core-js_shared__"],Te=(o=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+o:"",Me=r.toString,q=xe.hasOwnProperty,Be=Me.call(Object),i=xe.toString,Ne=RegExp("^"+Me.call(q).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),o=be?n.Buffer:R,r=n.Symbol,Se=n.Uint8Array,Fe=ke(Object.getPrototypeOf,Object),Le=Object.create,Pe=xe.propertyIsEnumerable,Re=Ee.splice,be=Object.getOwnPropertySymbols,Ee=o?o.isBuffer:R,Ie=ke(Object.keys,Object),$e=Math.max,o=p(n,"DataView"),a=p(n,"Map"),Ce=p(n,"Promise"),De=p(n,"Set"),n=p(n,"WeakMap"),u=p(Object,"create"),Ge=!Pe.call({valueOf:1},"valueOf"),Ue=y(o),ze=y(a),We=y(Ce),qe=y(De),Ve=y(n),r=r?r.prototype:R,V=r?r.valueOf:R,Xe=r?r.toString:R;function s(){}function l(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function c(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function f(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function He(e){var t=-1,n=e?e.length:0;for(this.__data__=new f;++t<n;)this.add(e[t])}function X(e){this.__data__=new c(e)}function Je(e,t){var n,r=K(e)||v(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],o=r.length,i=!!o;for(n in e)!t&&!q.call(e,n)||i&&("length"==n||vt(n,o))||r.push(n);return r}function Ke(e,t,n){(n===R||J(e[t],n))&&("number"!=typeof t||n!==R||t in e)||(e[t]=n)}function Qe(e,t,n){var r=e[t];q.call(e,t)&&J(r,n)&&(n!==R||t in e)||(e[t]=n)}function Ye(e,t){for(var n=e.length;n--;)if(J(e[n][0],t))return n;return-1}function m(n,r,o,i,e,t,a){var u;if((u=i?t?i(n,e,t,a):i(n):u)===R){if(!Q(n))return n;e=K(n);if(e){if(u=function(e){var t=e.length,n=e.constructor(t);t&&"string"==typeof e[0]&&q.call(e,"index")&&(n.index=e.index,n.input=e.input);return n}(n),!r)return dt(n,u)}else{var s,l,c=H(n),f=c==w||c==j;if(Mt(n))return s=n,(l=r)?s.slice():(l=new s.constructor(s.length),s.copy(l),l);if(c==G||c==C||f&&!t){if(W(n))return t?n:{};if(u="function"!=typeof(s=f?{}:n).constructor||wt(s)?{}:function(e){return Q(e)?Le(e):{}}(Fe(s)),!r)return f=l=n,f=(y=u)&>(f,Z(f),y),gt(l,mt(l),f)}else{if(!d[c])return t?n:{};u=function(e,t,n,r){var o=e.constructor;switch(t){case se:return yt(e);case te:case ne:return new o(+e);case z:return function(e,t){t=t?yt(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.byteLength)}(e,r);case O:case E:case x:case T:case M:case B:case N:case S:case F:return function(e,t){t=t?yt(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}(e,r);case D:return function(e,t,n){return je(t?n(Ae(e),!0):Ae(e),ve,new e.constructor)}(e,r,n);case oe:case ae:return new o(e);case ie:return function(e){var t=new e.constructor(e.source,pe.exec(e));return t.lastIndex=e.lastIndex,t}(e);case U:return function(e,t,n){return je(t?n(Oe(e),!0):Oe(e),_e,new e.constructor)}(e,r,n);case ue:return function(e){return V?Object(V.call(e)):{}}(e)}}(n,c,m,r)}}var p,y=(a=a||new X).get(n);if(y)return y;a.set(n,u),we((p=e?p:o?function(e,t,n){t=t(e);return K(e)?t:function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}(t,n(e))}(n,Z,mt):Z(n))||n,function(e,t){p&&(e=n[t=e]),Qe(u,t,m(e,r,o,i,t,n,a))})}return u}l.prototype.clear=function(){this.__data__=u?u(null):{}},l.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},l.prototype.get=function(e){var t,n=this.__data__;return u?(t=n[e])===h?R:t:q.call(n,e)?n[e]:R},l.prototype.has=function(e){var t=this.__data__;return u?t[e]!==R:q.call(t,e)},l.prototype.set=function(e,t){return this.__data__[e]=u&&t===R?h:t,this},c.prototype.clear=function(){this.__data__=[]},c.prototype.delete=function(e){var t=this.__data__;return!((e=Ye(t,e))<0)&&(e==t.length-1?t.pop():Re.call(t,e,1),!0)},c.prototype.get=function(e){var t=this.__data__;return(e=Ye(t,e))<0?R:t[e][1]},c.prototype.has=function(e){return-1<Ye(this.__data__,e)},c.prototype.set=function(e,t){var n=this.__data__,r=Ye(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},f.prototype.clear=function(){this.__data__={hash:new l,map:new(a||c),string:new l}},f.prototype.delete=function(e){return bt(this,e).delete(e)},f.prototype.get=function(e){return bt(this,e).get(e)},f.prototype.has=function(e){return bt(this,e).has(e)},f.prototype.set=function(e,t){return bt(this,e).set(e,t),this},He.prototype.add=He.prototype.push=function(e){return this.__data__.set(e,h),this},He.prototype.has=function(e){return this.__data__.has(e)},X.prototype.clear=function(){this.__data__=new c},X.prototype.delete=function(e){return this.__data__.delete(e)},X.prototype.get=function(e){return this.__data__.get(e)},X.prototype.has=function(e){return this.__data__.has(e)},X.prototype.set=function(e,t){var n=this.__data__;if(n instanceof c){var r=n.__data__;if(!a||r.length<199)return r.push([e,t]),this;n=this.__data__=new f(r)}return n.set(e,t),this};function Ze(e,t){if(null!=e){if(!g(e))return et(e,t);for(var n=e.length,r=tt?n:-1,o=Object(e);(tt?r--:++r<n)&&!1!==t(o[r],r,o););}return e}et=function(e,t){return e&&rt(e,t,Z)};var et,tt,nt,rt=function(e,t,n){for(var r=-1,o=Object(e),i=n(e),a=i.length;a--;){var u=i[nt?a:++r];if(!1===t(o[u],u,o))break}return e};function ot(e,t){for(var n=0,r=(t=_t(t,e)?[t]:pt(t)).length;null!=e&&n<r;)e=e[Ot(t[n++])];return n&&n==r?e:R}function it(e,t){return null!=e&&t in Object(e)}function at(e,t,n,r,o){if(e===t)return!0;if(null==e||null==t||!Q(e)&&!Y(t))return e!=e&&t!=t;var i=at,a=K(e),u=K(t),s=ee,l=ee,u=(a||(s=(s=H(e))==C?G:s),u||(l=(l=H(t))==C?G:l),s==G&&!W(e)),c=l==G&&!W(t);if((l=s==l)&&!u){o=o||new X;if(a||Pt(e))return ht(e,t,i,n,r,o);else{var f=e;var p=t;var y=s;var d=i;var g=n;var h=r;var b=o;switch(y){case z:if(f.byteLength!=p.byteLength||f.byteOffset!=p.byteOffset)return!1;f=f.buffer,p=p.buffer;case se:return f.byteLength==p.byteLength&&d(new Se(f),new Se(p))?!0:!1;case te:case ne:case oe:return J(+f,+p);case re:return f.name==p.name&&f.message==p.message;case ie:case ae:return f==p+"";case D:var m=Ae;case U:var v=h&$;if(m=m||Oe,f.size!=p.size&&!v)return!1;v=b.get(f);if(v)return v==p;h|=I,b.set(f,p);v=ht(m(f),m(p),d,g,h,b);return b.delete(f),v;case ue:if(V)return V.call(f)==V.call(p)}return!1;return}}if(!(r&$)){var a=u&&q.call(e,"__wrapped__"),s=c&&q.call(t,"__wrapped__");if(a||s)return u=a?e.value():e,c=s?t.value():t,o=o||new X,i(u,c,n,r,o)}if(l){o=o||new X;var _=e,w=t,j=i,A=n,k=r,O=o,E=k&$,x=Z(_),T=x.length,a=Z(w).length;if(T!=a&&!E)return!1;for(var M=T;M--;){var B=x[M];if(!(E?B in w:q.call(w,B)))return!1}if((a=O.get(_))&&O.get(w))return a==w;for(var N=!0,S=(O.set(_,w),O.set(w,_),E);++M<T;){B=x[M];var F,L=_[B],P=w[B];if(!((F=A?E?A(P,L,B,w,_,O):A(L,P,B,_,w,O):F)===R?L===P||j(L,P,A,k,O):F)){N=!1;break}S=S||"constructor"==B}return N&&!S&&(a=_.constructor,s=w.constructor,a!=s&&"constructor"in _&&"constructor"in w&&!("function"==typeof a&&a instanceof a&&"function"==typeof s&&s instanceof s)&&(N=!1)),O.delete(_),O.delete(w),N}return!1}function ut(e){var t;return Q(e)&&(t=e,!(Te&&Te in t))&&(Bt(e)||W(e)?Ne:ye).test(y(e))}function st(e){if("function"==typeof e)return e;if(null==e)return Ut;if("object"==typeof e)if(K(e)){var n=e[0],r=e[1];return _t(n)&&jt(r)?At(Ot(n),r):function(e){var t=$t(e,n);return t===R&&t===r?Ct(e,n):at(r,t,R,I|$)}}else{var t=e,o=function(e){var t=Z(e),n=t.length;for(;n--;){var r=t[n],o=e[r];t[n]=[r,o,jt(o)]}return t}(t);return 1==o.length&&o[0][2]?At(o[0][0],o[0][1]):function(e){return e===t||function(e,t,n,r){var o=n.length,i=o,a=!r;if(null==e)return!i;for(e=Object(e);o--;){var u=n[o];if(a&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++o<i;){var s=(u=n[o])[0],l=e[s],c=u[1];if(a&&u[2]){if(l===R&&!(s in e))return!1}else{var f,p=new X;if(!((f=r?r(l,c,s,e,t,p):f)===R?at(c,l,r,I|$,p):f))return!1}}return!0}(e,t,o)}}return Wt(e)}function lt(e){if(!Q(e)){var t=e,n=[];if(null!=t)for(var r in Object(t))n.push(r);return n}var o,i=wt(e),a=[];for(o in e)("constructor"!=o||!i&&q.call(e,o))&&a.push(o);return a}function ct(p,y,d,g,h){var b;p!==y&&we((b=K(y)||Pt(y)?b:lt(y))||y,function(e,t){var n,r,o,i,a,u,s,l,c,f;Q(e=b?y[t=e]:e)?(h=h||new X,r=y,i=d,a=ct,u=g,s=h,l=(n=p)[o=t],c=r[o],(f=s.get(c))?Ke(n,o,f):(f=u?u(l,c,o+"",n,r,s):R,(r=f===R)&&(K(f=c)||Pt(c)?f=K(l)?l:Tt(l)?dt(l):m(c,!(r=!1)):St(c)||v(c)?f=v(l)?Rt(l):!Q(l)||i&&Bt(l)?m(c,!(r=!1)):l:r=!1),r&&(s.set(c,f),a(f,c,i,u,s),s.delete(c)),Ke(n,o,f))):(l=g?g(p[t],e,t+"",p,y,h):R,Ke(p,t,l=l===R?e:l))})}function ft(s,l){return l=$e(l===R?s.length-1:l,0),function(){for(var e=arguments,t=-1,n=$e(e.length-l,0),r=Array(n);++t<n;)r[t]=e[l+t];for(var t=-1,o=Array(l+1);++t<l;)o[t]=e[t];o[l]=r;var i=s,a=this,u=o;switch(u.length){case 0:return i.call(a);case 1:return i.call(a,u[0]);case 2:return i.call(a,u[0],u[1]);case 3:return i.call(a,u[0],u[1],u[2])}return i.apply(a,u)}}function pt(e){return K(e)?e:kt(e)}function yt(e){var t=new e.constructor(e.byteLength);return new Se(t).set(new Se(e)),t}function dt(e,t){var n=-1,r=e.length;for(t=t||Array(r);++n<r;)t[n]=e[n];return t}function gt(e,t,n,r){n=n||{};for(var o=-1,i=t.length;++o<i;){var a=t[o],u=r?r(n[a],e[a],a,n,e):R;Qe(n,a,u===R?e[a]:u)}return n}function ht(e,t,n,r,o,i){var a=o&$,u=e.length,s=t.length;if(u!=s&&!(a&&u<s))return!1;s=i.get(e);if(s&&i.get(t))return s==t;var l=-1,c=!0,f=o&I?new He:R;for(i.set(e,t),i.set(t,e);++l<u;){var p,y=e[l],d=t[l];if((p=r?a?r(d,y,l,t,e,i):r(y,d,l,e,t,i):p)!==R){if(p)continue;c=!1;break}if(f){if(!function(e,t){for(var n=-1,r=e?e.length:0;++n<r;)if(t(e[n],n,e))return 1}(t,function(e,t){return!f.has(t)&&(y===e||n(y,e,r,o,i))&&f.add(t)})){c=!1;break}}else if(y!==d&&!n(y,d,r,o,i)){c=!1;break}}return i.delete(e),i.delete(t),c}function bt(e,t){var n,r,e=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?e["string"==typeof t?"string":"hash"]:e.map}function p(e,t){t=t;e=null==(e=e)?R:e[t];return ut(e)?e:R}var mt=be?ke(be,Object):qt,H=function(e){return i.call(e)};function vt(e,t){return!!(t=null==t?_:t)&&("number"==typeof e||de.test(e))&&-1<e&&e%1==0&&e<t}function _t(e,t){var n;if(!K(e))return"number"==(n=typeof e)||"symbol"==n||"boolean"==n||null==e||Ft(e)||(P.test(e)||!L.test(e)||null!=t&&e in Object(t))}function wt(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||xe)}function jt(e){return e==e&&!Q(e)}function At(t,n){return function(e){return null!=e&&(e[t]===n&&(n!==R||t in Object(e)))}}(o&&H(new o(new ArrayBuffer(1)))!=z||a&&H(new a)!=D||Ce&&H(Ce.resolve())!=A||De&&H(new De)!=U||n&&H(new n)!=k)&&(H=function(e){var t=i.call(e),e=t==G?e.constructor:R,e=e?y(e):R;if(e)switch(e){case Ue:return z;case ze:return D;case We:return A;case qe:return U;case Ve:return k}return t});var kt=xt(function(e){e=It(e);var o=[];return le.test(e)&&o.push(""),e.replace(ce,function(e,t,n,r){o.push(n?r.replace(fe,"$1"):t||e)}),o});function Ot(e){var t;return"string"==typeof e||Ft(e)?e:"0"==(t=e+"")&&1/e==-b?"-0":t}function y(e){if(null!=e){try{return Me.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Et(e,t){return(K(e)?we:Ze)(e,function(e,t){var n=(n=s.iteratee||zt)===zt?st:n;return arguments.length?n(e,t):n}(t,3))}function xt(r,o){if("function"!=typeof r||o&&"function"!=typeof o)throw new TypeError("Expected a function");function i(){var e=arguments,t=o?o.apply(this,e):e[0],n=i.cache;return n.has(t)?n.get(t):(e=r.apply(this,e),i.cache=n.set(t,e),e)}return i.cache=new(xt.Cache||f),i}function J(e,t){return e===t||e!=e&&t!=t}function v(e){return Tt(e)&&q.call(e,"callee")&&(!Pe.call(e,"callee")||i.call(e)==C)}xt.Cache=f;var K=Array.isArray;function g(e){return null!=e&&Nt(e.length)&&!Bt(e)}function Tt(e){return Y(e)&&g(e)}var Mt=Ee||Vt;function Bt(e){e=Q(e)?i.call(e):"";return e==w||e==j}function Nt(e){return"number"==typeof e&&-1<e&&e%1==0&&e<=_}function Q(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Y(e){return!!e&&"object"==typeof e}function St(e){return!(!Y(e)||i.call(e)!=G||W(e))&&(null===(e=Fe(e))||"function"==typeof(e=q.call(e,"constructor")&&e.constructor)&&e instanceof e&&Me.call(e)==Be)}function Ft(e){return"symbol"==typeof e||Y(e)&&i.call(e)==ue}var Lt,Pt=e?(Lt=e,function(e){return Lt(e)}):function(e){return Y(e)&&Nt(e.length)&&!!t[i.call(e)]};function Rt(e){return gt(e,Dt(e))}function It(e){return null==e?"":"string"==typeof(e=e)?e:Ft(e)?Xe?Xe.call(e):"":"0"==(t=e+"")&&1/e==-b?"-0":t;var t}function $t(e,t,n){e=null==e?R:ot(e,t);return e===R?n:e}function Ct(e,t){return null!=e&&function(e,t,n){for(var r,o=-1,i=(t=_t(t,e)?[t]:pt(t)).length;++o<i;){var a=Ot(t[o]);if(!(r=null!=e&&n(e,a)))break;e=e[a]}return r||!!(i=e?e.length:0)&&Nt(i)&&vt(a,i)&&(K(e)||v(e))}(e,t,it)}function Z(e){return(g(e)?Je:function(e){if(!wt(e))return Ie(e);var t,n=[];for(t in Object(e))q.call(e,t)&&"constructor"!=t&&n.push(t);return n})(e)}function Dt(e){return g(e)?Je(e,!0):lt(e)}Gt=function(e,t,n){ct(e,t,n)};var Gt,r=ft(function(e,t){var n=-1,r=t.length,o=1<r?t[r-1]:R,i=2<r?t[2]:R,o=3<Gt.length&&"function"==typeof o?(r--,o):R;for(i&&function(e,t,n){if(Q(n)){var r=typeof t;if("number"==r?g(n)&&vt(t,n.length):"string"==r&&t in n)return J(n[t],e)}return}(t[0],t[1],i)&&(o=r<3?R:o,r=1),e=Object(e);++n<r;){var a=t[n];a&&Gt(e,a,n,o)}return e});function Ut(e){return e}function zt(e){return st("function"==typeof e?e:m(e,!0))}function Wt(e){return _t(e)?(n=Ot(e),function(e){return null==e?R:e[n]}):(t=e,function(e){return ot(e,t)});var t,n}function qt(){return[]}function Vt(){return!1}s.compact=function(e){for(var t=-1,n=e?e.length:0,r=0,o=[];++t<n;){var i=e[t];i&&(o[r++]=i)}return o},s.iteratee=zt,s.keys=Z,s.keysIn=Dt,s.memoize=xt,s.merge=r,s.property=Wt,s.toPlainObject=Rt,s.clone=function(e){return m(e,!1,!0)},s.eq=J,s.forEach=Et,s.get=$t,s.hasIn=Ct,s.identity=Ut,s.isArguments=v,s.isArray=K,s.isArrayLike=g,s.isArrayLikeObject=Tt,s.isBuffer=Mt,s.isEmpty=function(e){if(g(e)&&(K(e)||"string"==typeof e||"function"==typeof e.splice||Mt(e)||v(e)))return!e.length;var t,n=H(e);if(n==D||n==U)return!e.size;if(Ge||wt(e))return!Ie(e).length;for(t in e)if(q.call(e,t))return!1;return!0},s.isFunction=Bt,s.isLength=Nt,s.isObject=Q,s.isObjectLike=Y,s.isPlainObject=St,s.isSymbol=Ft,s.isTypedArray=Pt,s.stubArray=qt,s.stubFalse=Vt,s.toString=It,s.each=Et,s.VERSION="4.15.0",he&&((he.exports=s)._=s,ge._=s)}.call(this)}.call(this)}.call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],3:[function(e,t,n){function i(e,t){if(0!==e.length){r(e[0],t);for(var n=1;n<e.length;n++)r(e[n],!t)}}function r(e,t){for(var n=0,r=0,o=0,i=e.length,a=i-1;o<i;a=o++){var u=(e[o][0]-e[a][0])*(e[a][1]+e[o][1]),s=n+u;r+=Math.abs(n)>=Math.abs(u)?n-s+u:u-s+n,n=s}0<=n+r!=!!t&&e.reverse()}t.exports=function e(t,n){var r,o=t&&t.type;if("FeatureCollection"===o)for(r=0;r<t.features.length;r++)e(t.features[r],n);else if("GeometryCollection"===o)for(r=0;r<t.geometries.length;r++)e(t.geometries[r],n);else if("Feature"===o)e(t.geometry,n);else if("Polygon"===o)i(t.coordinates,n);else if("MultiPolygon"===o)for(r=0;r<t.coordinates.length;r++)i(t.coordinates[r],n);return t}},{}],4:[function(e,t,n){t.exports=e("./polygon-features.json")},{"./polygon-features.json":5}],5:[function(e,t,n){t.exports=[{key:"building",polygon:"all"},{key:"highway",polygon:"whitelist",values:["services","rest_area","escape","elevator"]},{key:"natural",polygon:"blacklist",values:["coastline","cliff","ridge","arete","tree_row"]},{key:"landuse",polygon:"all"},{key:"waterway",polygon:"whitelist",values:["riverbank","dock","boatyard","dam"]},{key:"amenity",polygon:"all"},{key:"leisure",polygon:"all"},{key:"barrier",polygon:"whitelist",values:["city_wall","ditch","hedge","retaining_wall","wall","spikes"]},{key:"railway",polygon:"whitelist",values:["station","turntable","roundhouse","platform"]},{key:"area",polygon:"all"},{key:"boundary",polygon:"all"},{key:"man_made",polygon:"blacklist",values:["cutline","embankment","pipeline"]},{key:"power",polygon:"whitelist",values:["plant","substation","generator","transformer"]},{key:"place",polygon:"all"},{key:"shop",polygon:"all"},{key:"aeroway",polygon:"blacklist",values:["taxiway"]},{key:"tourism",polygon:"all"},{key:"historic",polygon:"all"},{key:"public_transport",polygon:"all"},{key:"office",polygon:"all"},{key:"building:part",polygon:"all"},{key:"military",polygon:"all"},{key:"ruins",polygon:"all"},{key:"area:highway",polygon:"all"},{key:"craft",polygon:"all"},{key:"golf",polygon:"all"},{key:"indoor",polygon:"all"}]},{}]},{},[1])(1)});
|