@edugis-org/webmapx 0.1.0
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.
- package/README.md +149 -0
- package/dist-lib/WMTS-DCN4zX0-.js +1169 -0
- package/dist-lib/alert-GeHlqlN8.js +310 -0
- package/dist-lib/assets/epsg-lookup.worker-J7TVnHDq.js +1 -0
- package/dist-lib/assets/shapefile.worker-kQfZj6G2.js +4 -0
- package/dist-lib/attribution-format-B4f05_u0.js +62 -0
- package/dist-lib/button-DFdGkRPQ.js +741 -0
- package/dist-lib/cesium-adapter-BHXNytkU.js +1488 -0
- package/dist-lib/checkbox-QoR4S8tV.js +284 -0
- package/dist-lib/chunk-HEgqtunE.js +20 -0
- package/dist-lib/chunk.36O46B5H-B6ZL7Sm1.js +77 -0
- package/dist-lib/chunk.3RPBFEDE-BFO1fHVm.js +138 -0
- package/dist-lib/chunk.5JY5FUCG-DTXsslmx.js +1090 -0
- package/dist-lib/chunk.6CTB5ZDJ-DjZrBd6Y.js +99 -0
- package/dist-lib/chunk.AJ3ENQ5C-Ci7Gm2b6.js +175 -0
- package/dist-lib/chunk.LD4M4QGE-CiCfhE8r.js +8 -0
- package/dist-lib/chunk.NYIIDP5N-BikXIStD.js +99 -0
- package/dist-lib/chunk.RWUUFNUL-DFztA4uV.js +43 -0
- package/dist-lib/chunk.SI4ACBFK-CLb9VfMG.js +61 -0
- package/dist-lib/chunk.YHLNUJ7P-D-kanrCf.js +503 -0
- package/dist-lib/core-CMAlSR68.js +22 -0
- package/dist-lib/decorate-CWgUV1hU.js +1139 -0
- package/dist-lib/decorators-B35AgiCU.js +351 -0
- package/dist-lib/deferred-query-service-BJDcngw6.js +386 -0
- package/dist-lib/dist-Dm6b7XCs.js +12318 -0
- package/dist-lib/dist-Ha9LQCut.js +244 -0
- package/dist-lib/dist-c1PlDAd1.js +2359 -0
- package/dist-lib/dist-kKlmcBXq.js +50 -0
- package/dist-lib/divider-CPm675yY.js +41 -0
- package/dist-lib/dropped-config-C_GyVa8o.js +17 -0
- package/dist-lib/dropped-layer-builder-DAaYgUPk.js +396 -0
- package/dist-lib/epsg-definitions-BZLZWa8Q.js +668 -0
- package/dist-lib/esm-CTuscnN5.js +46 -0
- package/dist-lib/file-sniff-Dhxj3KTF.js +251 -0
- package/dist-lib/geo-calculations-DbFJAUoI.js +30 -0
- package/dist-lib/icon-CEOgWlro.js +9 -0
- package/dist-lib/icon-button-Da_nBTy3.js +408 -0
- package/dist-lib/input-CeGntPlT.js +590 -0
- package/dist-lib/layer-discovery-afWzu5hY.js +2825 -0
- package/dist-lib/leaflet-adapter-D9djjrKv.js +1227 -0
- package/dist-lib/lib-CdHVicAE.js +4074 -0
- package/dist-lib/map-layer-registry-2cmkiRDK.js +62 -0
- package/dist-lib/maplibre-adapter-TFc3e0G9.js +1190 -0
- package/dist-lib/maplibre-expression-evaluator-DCWUcpwf.js +7233 -0
- package/dist-lib/marker-utils-DztWXeop.js +12 -0
- package/dist-lib/ol-tilegrid-9VtyxaLG.js +64 -0
- package/dist-lib/openlayers-adapter-DVW1KCRv.js +13307 -0
- package/dist-lib/option-CBxl1mZP.js +1106 -0
- package/dist-lib/papaparse.min-B7v3c0D7.js +501 -0
- package/dist-lib/rbush-C8k41T4z.js +254 -0
- package/dist-lib/shapefile-SawVY6xg.js +207 -0
- package/dist-lib/spinner-DysxdNG9.js +6 -0
- package/dist-lib/src-CL94RDe3.js +111 -0
- package/dist-lib/throttle-BeneRNYK.js +16 -0
- package/dist-lib/toast-Cm28o9U6.js +15 -0
- package/dist-lib/togeojson.es-DAgiTBvg.js +579 -0
- package/dist-lib/tooltip-Cucn1SiD.js +197 -0
- package/dist-lib/webmapx-3d-tool-D4CTD2gB.js +176 -0
- package/dist-lib/webmapx-base-tool-Dm9NAWLD.js +75 -0
- package/dist-lib/webmapx-config-edit-tool-DCTyxqTk.js +389 -0
- package/dist-lib/webmapx-coordinates-tool-jeWohup9.js +648 -0
- package/dist-lib/webmapx-core-bundle-BDImi1RE.js +8203 -0
- package/dist-lib/webmapx-draw-tool-DooAV8cF.js +4336 -0
- package/dist-lib/webmapx-geolocation-tool-Rw3-Iad1.js +788 -0
- package/dist-lib/webmapx-import-layer-tool-DRYviHd5.js +250 -0
- package/dist-lib/webmapx-info-tool-BJA157cy.js +412 -0
- package/dist-lib/webmapx-language-osmvector-M5y_lwOg.js +489 -0
- package/dist-lib/webmapx-measure-tool-BXhMJFC6.js +590 -0
- package/dist-lib/webmapx-modal-tool-eF6Naluv.js +84 -0
- package/dist-lib/webmapx-plugin-tool-D2Hghf9n.js +45 -0
- package/dist-lib/webmapx-print-tool-ob1bOsR5.js +348 -0
- package/dist-lib/webmapx-search-tool-Cv8BrYvY.js +437 -0
- package/dist-lib/webmapx-settings-DDEJ8aoV.js +479 -0
- package/dist-lib/webmapx-truearea-tool-CMB4Orm-.js +615 -0
- package/dist-lib/webmapx-view-mode-tool-CUpLNjOj.js +106 -0
- package/dist-lib/webmapx.css +2 -0
- package/dist-lib/webmapx.js +1321 -0
- package/dist-lib/wms-feature-info-C0RVMEQC.js +145 -0
- package/dist-lib/wms-url-builder-DIJLQ1v2.js +54 -0
- package/dist-lib/zip.js-DVhmtjxZ.js +3615 -0
- package/package.json +107 -0
- package/public/data/country-epsg-codes.json +297 -0
- package/public/data/world-countries-simplified.topojson +1 -0
- package/src/locales/en/core.json +20 -0
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
//#region node_modules/quickselect/index.js
|
|
2
|
+
function e(r, i, a = 0, o = r.length - 1, s = n) {
|
|
3
|
+
for (; o > a;) {
|
|
4
|
+
if (o - a > 600) {
|
|
5
|
+
let t = o - a + 1, n = i - a + 1, c = Math.log(t), l = .5 * Math.exp(2 * c / 3), u = .5 * Math.sqrt(c * l * (t - l) / t) * (n - t / 2 < 0 ? -1 : 1);
|
|
6
|
+
e(r, i, Math.max(a, Math.floor(i - n * l / t + u)), Math.min(o, Math.floor(i + (t - n) * l / t + u)), s);
|
|
7
|
+
}
|
|
8
|
+
let n = r[i], c = a, l = o;
|
|
9
|
+
for (t(r, a, i), s(r[o], n) > 0 && t(r, a, o); c < l;) {
|
|
10
|
+
for (t(r, c, l), c++, l--; s(r[c], n) < 0;) c++;
|
|
11
|
+
for (; s(r[l], n) > 0;) l--;
|
|
12
|
+
}
|
|
13
|
+
s(r[a], n) === 0 ? t(r, a, l) : (l++, t(r, l, o)), l <= i && (a = l + 1), i <= l && (o = l - 1);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function t(e, t, n) {
|
|
17
|
+
let r = e[t];
|
|
18
|
+
e[t] = e[n], e[n] = r;
|
|
19
|
+
}
|
|
20
|
+
function n(e, t) {
|
|
21
|
+
return e < t ? -1 : +(e > t);
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region node_modules/rbush/index.js
|
|
25
|
+
var r = class {
|
|
26
|
+
constructor(e = 9) {
|
|
27
|
+
this._maxEntries = Math.max(4, e), this._minEntries = Math.max(2, Math.ceil(this._maxEntries * .4)), this.clear();
|
|
28
|
+
}
|
|
29
|
+
all() {
|
|
30
|
+
return this._all(this.data, []);
|
|
31
|
+
}
|
|
32
|
+
search(e) {
|
|
33
|
+
let t = this.data, n = [];
|
|
34
|
+
if (!h(e, t)) return n;
|
|
35
|
+
let r = this.toBBox, i = [];
|
|
36
|
+
for (; t;) {
|
|
37
|
+
for (let a = 0; a < t.children.length; a++) {
|
|
38
|
+
let o = t.children[a], s = t.leaf ? r(o) : o;
|
|
39
|
+
h(e, s) && (t.leaf ? n.push(o) : m(e, s) ? this._all(o, n) : i.push(o));
|
|
40
|
+
}
|
|
41
|
+
t = i.pop();
|
|
42
|
+
}
|
|
43
|
+
return n;
|
|
44
|
+
}
|
|
45
|
+
collides(e) {
|
|
46
|
+
let t = this.data;
|
|
47
|
+
if (!h(e, t)) return !1;
|
|
48
|
+
let n = [];
|
|
49
|
+
for (; t;) {
|
|
50
|
+
for (let r = 0; r < t.children.length; r++) {
|
|
51
|
+
let i = t.children[r], a = t.leaf ? this.toBBox(i) : i;
|
|
52
|
+
if (h(e, a)) {
|
|
53
|
+
if (t.leaf || m(e, a)) return !0;
|
|
54
|
+
n.push(i);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
t = n.pop();
|
|
58
|
+
}
|
|
59
|
+
return !1;
|
|
60
|
+
}
|
|
61
|
+
load(e) {
|
|
62
|
+
if (!(e && e.length)) return this;
|
|
63
|
+
if (e.length < this._minEntries) {
|
|
64
|
+
for (let t = 0; t < e.length; t++) this.insert(e[t]);
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
let t = this._build(e.slice(), 0, e.length - 1, 0);
|
|
68
|
+
if (!this.data.children.length) this.data = t;
|
|
69
|
+
else if (this.data.height === t.height) this._splitRoot(this.data, t);
|
|
70
|
+
else {
|
|
71
|
+
if (this.data.height < t.height) {
|
|
72
|
+
let e = this.data;
|
|
73
|
+
this.data = t, t = e;
|
|
74
|
+
}
|
|
75
|
+
this._insert(t, this.data.height - t.height - 1, !0);
|
|
76
|
+
}
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
insert(e) {
|
|
80
|
+
return e && this._insert(e, this.data.height - 1), this;
|
|
81
|
+
}
|
|
82
|
+
clear() {
|
|
83
|
+
return this.data = g([]), this;
|
|
84
|
+
}
|
|
85
|
+
remove(e, t) {
|
|
86
|
+
if (!e) return this;
|
|
87
|
+
let n = this.data, r = this.toBBox(e), a = [], o = [], s, c, l;
|
|
88
|
+
for (; n || a.length;) {
|
|
89
|
+
if (n || (n = a.pop(), c = a[a.length - 1], s = o.pop(), l = !0), n.leaf) {
|
|
90
|
+
let r = i(e, n.children, t);
|
|
91
|
+
if (r !== -1) return n.children.splice(r, 1), a.push(n), this._condense(a), this;
|
|
92
|
+
}
|
|
93
|
+
!l && !n.leaf && m(n, r) ? (a.push(n), o.push(s), s = 0, c = n, n = n.children[0]) : c ? (s++, n = c.children[s], l = !1) : n = null;
|
|
94
|
+
}
|
|
95
|
+
return this;
|
|
96
|
+
}
|
|
97
|
+
toBBox(e) {
|
|
98
|
+
return e;
|
|
99
|
+
}
|
|
100
|
+
compareMinX(e, t) {
|
|
101
|
+
return e.minX - t.minX;
|
|
102
|
+
}
|
|
103
|
+
compareMinY(e, t) {
|
|
104
|
+
return e.minY - t.minY;
|
|
105
|
+
}
|
|
106
|
+
toJSON() {
|
|
107
|
+
return this.data;
|
|
108
|
+
}
|
|
109
|
+
fromJSON(e) {
|
|
110
|
+
return this.data = e, this;
|
|
111
|
+
}
|
|
112
|
+
_all(e, t) {
|
|
113
|
+
let n = [];
|
|
114
|
+
for (; e;) e.leaf ? t.push(...e.children) : n.push(...e.children), e = n.pop();
|
|
115
|
+
return t;
|
|
116
|
+
}
|
|
117
|
+
_build(e, t, n, r) {
|
|
118
|
+
let i = n - t + 1, o = this._maxEntries, s;
|
|
119
|
+
if (i <= o) return s = g(e.slice(t, n + 1)), a(s, this.toBBox), s;
|
|
120
|
+
r || (r = Math.ceil(Math.log(i) / Math.log(o)), o = Math.ceil(i / o ** (r - 1))), s = g([]), s.leaf = !1, s.height = r;
|
|
121
|
+
let c = Math.ceil(i / o), l = c * Math.ceil(Math.sqrt(o));
|
|
122
|
+
_(e, t, n, l, this.compareMinX);
|
|
123
|
+
for (let i = t; i <= n; i += l) {
|
|
124
|
+
let t = Math.min(i + l - 1, n);
|
|
125
|
+
_(e, i, t, c, this.compareMinY);
|
|
126
|
+
for (let n = i; n <= t; n += c) {
|
|
127
|
+
let i = Math.min(n + c - 1, t);
|
|
128
|
+
s.children.push(this._build(e, n, i, r - 1));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return a(s, this.toBBox), s;
|
|
132
|
+
}
|
|
133
|
+
_chooseSubtree(e, t, n, r) {
|
|
134
|
+
for (; r.push(t), !(t.leaf || r.length - 1 === n);) {
|
|
135
|
+
let n = Infinity, r = Infinity, i;
|
|
136
|
+
for (let a = 0; a < t.children.length; a++) {
|
|
137
|
+
let o = t.children[a], s = u(o), c = f(e, o) - s;
|
|
138
|
+
c < r ? (r = c, n = s < n ? s : n, i = o) : c === r && s < n && (n = s, i = o);
|
|
139
|
+
}
|
|
140
|
+
t = i || t.children[0];
|
|
141
|
+
}
|
|
142
|
+
return t;
|
|
143
|
+
}
|
|
144
|
+
_insert(e, t, n) {
|
|
145
|
+
let r = n ? e : this.toBBox(e), i = [], a = this._chooseSubtree(r, this.data, t, i);
|
|
146
|
+
for (a.children.push(e), s(a, r); t >= 0 && i[t].children.length > this._maxEntries;) this._split(i, t), t--;
|
|
147
|
+
this._adjustParentBBoxes(r, i, t);
|
|
148
|
+
}
|
|
149
|
+
_split(e, t) {
|
|
150
|
+
let n = e[t], r = n.children.length, i = this._minEntries;
|
|
151
|
+
this._chooseSplitAxis(n, i, r);
|
|
152
|
+
let o = this._chooseSplitIndex(n, i, r), s = g(n.children.splice(o, n.children.length - o));
|
|
153
|
+
s.height = n.height, s.leaf = n.leaf, a(n, this.toBBox), a(s, this.toBBox), t ? e[t - 1].children.push(s) : this._splitRoot(n, s);
|
|
154
|
+
}
|
|
155
|
+
_splitRoot(e, t) {
|
|
156
|
+
this.data = g([e, t]), this.data.height = e.height + 1, this.data.leaf = !1, a(this.data, this.toBBox);
|
|
157
|
+
}
|
|
158
|
+
_chooseSplitIndex(e, t, n) {
|
|
159
|
+
let r, i = Infinity, a = Infinity;
|
|
160
|
+
for (let s = t; s <= n - t; s++) {
|
|
161
|
+
let t = o(e, 0, s, this.toBBox), c = o(e, s, n, this.toBBox), l = p(t, c), d = u(t) + u(c);
|
|
162
|
+
l < i ? (i = l, r = s, a = d < a ? d : a) : l === i && d < a && (a = d, r = s);
|
|
163
|
+
}
|
|
164
|
+
return r || n - t;
|
|
165
|
+
}
|
|
166
|
+
_chooseSplitAxis(e, t, n) {
|
|
167
|
+
let r = e.leaf ? this.compareMinX : c, i = e.leaf ? this.compareMinY : l;
|
|
168
|
+
this._allDistMargin(e, t, n, r) < this._allDistMargin(e, t, n, i) && e.children.sort(r);
|
|
169
|
+
}
|
|
170
|
+
_allDistMargin(e, t, n, r) {
|
|
171
|
+
e.children.sort(r);
|
|
172
|
+
let i = this.toBBox, a = o(e, 0, t, i), c = o(e, n - t, n, i), l = d(a) + d(c);
|
|
173
|
+
for (let r = t; r < n - t; r++) {
|
|
174
|
+
let t = e.children[r];
|
|
175
|
+
s(a, e.leaf ? i(t) : t), l += d(a);
|
|
176
|
+
}
|
|
177
|
+
for (let r = n - t - 1; r >= t; r--) {
|
|
178
|
+
let t = e.children[r];
|
|
179
|
+
s(c, e.leaf ? i(t) : t), l += d(c);
|
|
180
|
+
}
|
|
181
|
+
return l;
|
|
182
|
+
}
|
|
183
|
+
_adjustParentBBoxes(e, t, n) {
|
|
184
|
+
for (let r = n; r >= 0; r--) s(t[r], e);
|
|
185
|
+
}
|
|
186
|
+
_condense(e) {
|
|
187
|
+
for (let t = e.length - 1, n; t >= 0; t--) e[t].children.length === 0 ? t > 0 ? (n = e[t - 1].children, n.splice(n.indexOf(e[t]), 1)) : this.clear() : a(e[t], this.toBBox);
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
function i(e, t, n) {
|
|
191
|
+
if (!n) return t.indexOf(e);
|
|
192
|
+
for (let r = 0; r < t.length; r++) if (n(e, t[r])) return r;
|
|
193
|
+
return -1;
|
|
194
|
+
}
|
|
195
|
+
function a(e, t) {
|
|
196
|
+
o(e, 0, e.children.length, t, e);
|
|
197
|
+
}
|
|
198
|
+
function o(e, t, n, r, i) {
|
|
199
|
+
i ||= g(null), i.minX = Infinity, i.minY = Infinity, i.maxX = -Infinity, i.maxY = -Infinity;
|
|
200
|
+
for (let a = t; a < n; a++) {
|
|
201
|
+
let t = e.children[a];
|
|
202
|
+
s(i, e.leaf ? r(t) : t);
|
|
203
|
+
}
|
|
204
|
+
return i;
|
|
205
|
+
}
|
|
206
|
+
function s(e, t) {
|
|
207
|
+
return e.minX = Math.min(e.minX, t.minX), e.minY = Math.min(e.minY, t.minY), e.maxX = Math.max(e.maxX, t.maxX), e.maxY = Math.max(e.maxY, t.maxY), e;
|
|
208
|
+
}
|
|
209
|
+
function c(e, t) {
|
|
210
|
+
return e.minX - t.minX;
|
|
211
|
+
}
|
|
212
|
+
function l(e, t) {
|
|
213
|
+
return e.minY - t.minY;
|
|
214
|
+
}
|
|
215
|
+
function u(e) {
|
|
216
|
+
return (e.maxX - e.minX) * (e.maxY - e.minY);
|
|
217
|
+
}
|
|
218
|
+
function d(e) {
|
|
219
|
+
return e.maxX - e.minX + (e.maxY - e.minY);
|
|
220
|
+
}
|
|
221
|
+
function f(e, t) {
|
|
222
|
+
return (Math.max(t.maxX, e.maxX) - Math.min(t.minX, e.minX)) * (Math.max(t.maxY, e.maxY) - Math.min(t.minY, e.minY));
|
|
223
|
+
}
|
|
224
|
+
function p(e, t) {
|
|
225
|
+
let n = Math.max(e.minX, t.minX), r = Math.max(e.minY, t.minY), i = Math.min(e.maxX, t.maxX), a = Math.min(e.maxY, t.maxY);
|
|
226
|
+
return Math.max(0, i - n) * Math.max(0, a - r);
|
|
227
|
+
}
|
|
228
|
+
function m(e, t) {
|
|
229
|
+
return e.minX <= t.minX && e.minY <= t.minY && t.maxX <= e.maxX && t.maxY <= e.maxY;
|
|
230
|
+
}
|
|
231
|
+
function h(e, t) {
|
|
232
|
+
return t.minX <= e.maxX && t.minY <= e.maxY && t.maxX >= e.minX && t.maxY >= e.minY;
|
|
233
|
+
}
|
|
234
|
+
function g(e) {
|
|
235
|
+
return {
|
|
236
|
+
children: e,
|
|
237
|
+
height: 1,
|
|
238
|
+
leaf: !0,
|
|
239
|
+
minX: Infinity,
|
|
240
|
+
minY: Infinity,
|
|
241
|
+
maxX: -Infinity,
|
|
242
|
+
maxY: -Infinity
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
function _(t, n, r, i, a) {
|
|
246
|
+
let o = [n, r];
|
|
247
|
+
for (; o.length;) {
|
|
248
|
+
if (r = o.pop(), n = o.pop(), r - n <= i) continue;
|
|
249
|
+
let s = n + Math.ceil((r - n) / i / 2) * i;
|
|
250
|
+
e(t, s, n, r, a), o.push(n, s, s, r);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
//#endregion
|
|
254
|
+
export { r as t };
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import "./lib-CdHVicAE.js";
|
|
2
|
+
//#region node_modules/but-unzip/index.browser.min.mjs
|
|
3
|
+
try {
|
|
4
|
+
let t = () => new DecompressionStream("deflate-raw"), n = (e) => new Response(e);
|
|
5
|
+
t(), e = (e) => n(n(e).body.pipeThrough(t())).arrayBuffer().then((e) => new Uint8Array(e));
|
|
6
|
+
} catch {}
|
|
7
|
+
var e;
|
|
8
|
+
new TextDecoder(), globalThis.URL;
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region node_modules/shpjs/lib/parseShp.js
|
|
11
|
+
function t(e) {
|
|
12
|
+
let t = 0, n = 1, r = e.length, i, a, o = [
|
|
13
|
+
e[0][0],
|
|
14
|
+
e[0][1],
|
|
15
|
+
e[0][0],
|
|
16
|
+
e[0][1]
|
|
17
|
+
];
|
|
18
|
+
for (; n < r;) i = a || e[0], a = e[n], t += (a[0] - i[0]) * (a[1] + i[1]), n++, a[0] < o[0] && (o[0] = a[0]), a[1] < o[1] && (o[1] = a[1]), a[0] > o[2] && (o[2] = a[0]), a[1] > o[3] && (o[3] = a[1]);
|
|
19
|
+
return {
|
|
20
|
+
ring: e,
|
|
21
|
+
clockWise: t > 0,
|
|
22
|
+
bbox: o,
|
|
23
|
+
children: []
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function n(e, t) {
|
|
27
|
+
return !(e.bbox[0] > t.bbox[0] || e.bbox[1] > t.bbox[1] || e.bbox[2] < t.bbox[2] || e.bbox[3] < t.bbox[3]);
|
|
28
|
+
}
|
|
29
|
+
function r(e, i = !1) {
|
|
30
|
+
let a = [], o = [];
|
|
31
|
+
for (let n of e) {
|
|
32
|
+
let e = t(n);
|
|
33
|
+
e.clockWise === i ? o.push(e) : a.push(e);
|
|
34
|
+
}
|
|
35
|
+
let s = [];
|
|
36
|
+
for (let e of o) {
|
|
37
|
+
let t;
|
|
38
|
+
for (let r of a) n(r, e) && (t ? n(t, r) && (t = r) : t = r);
|
|
39
|
+
t ? t.children.push(e.ring) : s.push(e);
|
|
40
|
+
}
|
|
41
|
+
if (i) return {
|
|
42
|
+
outers: a,
|
|
43
|
+
orphens: s
|
|
44
|
+
};
|
|
45
|
+
if (s.length && !i) {
|
|
46
|
+
let t = r(e, !0);
|
|
47
|
+
if (t.orphens.length === 0) {
|
|
48
|
+
let e = [];
|
|
49
|
+
for (let n of t.outers) e.push([n.ring.toReversed()].concat(n.children.map((e) => e.toReversed())));
|
|
50
|
+
return e;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
let c = [];
|
|
54
|
+
for (let e of a) c.push([e.ring].concat(e.children));
|
|
55
|
+
return c;
|
|
56
|
+
}
|
|
57
|
+
o.prototype.parsePoint = function(e) {
|
|
58
|
+
return {
|
|
59
|
+
type: "Point",
|
|
60
|
+
coordinates: this.parseCoord(e, 0)
|
|
61
|
+
};
|
|
62
|
+
}, o.prototype.parseZPoint = function(e) {
|
|
63
|
+
let t = this.parsePoint(e);
|
|
64
|
+
return t.coordinates.push(e.getFloat64(16, !0)), t;
|
|
65
|
+
}, o.prototype.parsePointArray = function(e, t, n) {
|
|
66
|
+
let r = [], i = 0;
|
|
67
|
+
for (; i < n;) r.push(this.parseCoord(e, t)), t += 16, i++;
|
|
68
|
+
return r;
|
|
69
|
+
}, o.prototype.parseZPointArray = function(e, t, n, r) {
|
|
70
|
+
let i = 0;
|
|
71
|
+
for (; i < n;) r[i].push(e.getFloat64(t, !0)), i++, t += 8;
|
|
72
|
+
return r;
|
|
73
|
+
}, o.prototype.parseArrayGroup = function(e, t, n, r, i) {
|
|
74
|
+
let a = [], o = 0, s, c = 0, l;
|
|
75
|
+
for (; o < r;) o++, n += 4, s = c, c = o === r ? i : e.getInt32(n, !0), l = c - s, l && (a.push(this.parsePointArray(e, t, l)), t += l << 4);
|
|
76
|
+
return a;
|
|
77
|
+
}, o.prototype.parseZArrayGroup = function(e, t, n, r) {
|
|
78
|
+
let i = 0;
|
|
79
|
+
for (; i < n;) r[i] = this.parseZPointArray(e, t, r[i].length, r[i]), t += r[i].length << 3, i++;
|
|
80
|
+
return r;
|
|
81
|
+
}, o.prototype.parseMultiPoint = function(e) {
|
|
82
|
+
let t = {}, n = e.getInt32(32, !0);
|
|
83
|
+
if (!n) return null;
|
|
84
|
+
let r = this.parseCoord(e, 0), i = this.parseCoord(e, 16);
|
|
85
|
+
return t.bbox = [
|
|
86
|
+
r[0],
|
|
87
|
+
r[1],
|
|
88
|
+
i[0],
|
|
89
|
+
i[1]
|
|
90
|
+
], n === 1 ? (t.type = "Point", t.coordinates = this.parseCoord(e, 36)) : (t.type = "MultiPoint", t.coordinates = this.parsePointArray(e, 36, n)), t;
|
|
91
|
+
}, o.prototype.parseZMultiPoint = function(e) {
|
|
92
|
+
let t = this.parseMultiPoint(e);
|
|
93
|
+
if (!t) return null;
|
|
94
|
+
let n;
|
|
95
|
+
if (t.type === "Point") return t.coordinates.push(e.getFloat64(72, !0)), t;
|
|
96
|
+
n = t.coordinates.length;
|
|
97
|
+
let r = 52 + (n << 4);
|
|
98
|
+
return t.coordinates = this.parseZPointArray(e, r, n, t.coordinates), t;
|
|
99
|
+
}, o.prototype.parsePolyline = function(e) {
|
|
100
|
+
let t = {}, n = e.getInt32(32, !0);
|
|
101
|
+
if (!n) return null;
|
|
102
|
+
let r = this.parseCoord(e, 0), i = this.parseCoord(e, 16);
|
|
103
|
+
t.bbox = [
|
|
104
|
+
r[0],
|
|
105
|
+
r[1],
|
|
106
|
+
i[0],
|
|
107
|
+
i[1]
|
|
108
|
+
];
|
|
109
|
+
let a = e.getInt32(36, !0), o, s;
|
|
110
|
+
return n === 1 ? (t.type = "LineString", o = 44, t.coordinates = this.parsePointArray(e, o, a)) : (t.type = "MultiLineString", o = 40 + (n << 2), s = 40, t.coordinates = this.parseArrayGroup(e, o, s, n, a)), t;
|
|
111
|
+
}, o.prototype.parseZPolyline = function(e) {
|
|
112
|
+
let t = this.parsePolyline(e);
|
|
113
|
+
if (!t) return null;
|
|
114
|
+
let n = t.coordinates.length, r;
|
|
115
|
+
return t.type === "LineString" ? (r = 60 + (n << 4), t.coordinates = this.parseZPointArray(e, r, n, t.coordinates), t) : (r = 56 + (t.coordinates.reduce(function(e, t) {
|
|
116
|
+
return e + t.length;
|
|
117
|
+
}, 0) << 4) + (n << 2), t.coordinates = this.parseZArrayGroup(e, r, n, t.coordinates), t);
|
|
118
|
+
}, o.prototype.polyFuncs = function(e) {
|
|
119
|
+
return e && (e.type === "LineString" ? (e.type = "Polygon", e.coordinates = [e.coordinates], e) : (e.coordinates = r(e.coordinates), e.coordinates.length === 1 ? (e.type = "Polygon", e.coordinates = e.coordinates[0], e) : (e.type = "MultiPolygon", e)));
|
|
120
|
+
}, o.prototype.parsePolygon = function(e) {
|
|
121
|
+
return this.polyFuncs(this.parsePolyline(e));
|
|
122
|
+
}, o.prototype.parseZPolygon = function(e) {
|
|
123
|
+
return this.polyFuncs(this.parseZPolyline(e));
|
|
124
|
+
};
|
|
125
|
+
var i = {
|
|
126
|
+
1: "parsePoint",
|
|
127
|
+
3: "parsePolyline",
|
|
128
|
+
5: "parsePolygon",
|
|
129
|
+
8: "parseMultiPoint",
|
|
130
|
+
11: "parseZPoint",
|
|
131
|
+
13: "parseZPolyline",
|
|
132
|
+
15: "parseZPolygon",
|
|
133
|
+
18: "parseZMultiPoint"
|
|
134
|
+
};
|
|
135
|
+
function a(e) {
|
|
136
|
+
return e ? function(t, n) {
|
|
137
|
+
let r = [t.getFloat64(n, !0), t.getFloat64(n + 8, !0)];
|
|
138
|
+
return e.inverse(r);
|
|
139
|
+
} : function(e, t) {
|
|
140
|
+
return [e.getFloat64(t, !0), e.getFloat64(t + 8, !0)];
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
function o(e, t) {
|
|
144
|
+
if (!(this instanceof o)) return new o(e, t);
|
|
145
|
+
this.buffer = e, this.headers = this.parseHeader(), this.shpFuncs(t), this.rows = this.getRows();
|
|
146
|
+
}
|
|
147
|
+
o.prototype.shpFuncs = function(e) {
|
|
148
|
+
let t = this.headers.shpCode;
|
|
149
|
+
if (t > 20 && (t -= 20), !(t in i)) throw Error(`I don't know shp type "${t}"`);
|
|
150
|
+
this.parseFunc = this[i[t]], this.parseCoord = a(e);
|
|
151
|
+
}, o.prototype.getShpCode = function() {
|
|
152
|
+
return this.parseHeader().shpCode;
|
|
153
|
+
}, o.prototype.parseHeader = function() {
|
|
154
|
+
let e = this.buffer;
|
|
155
|
+
return {
|
|
156
|
+
length: e.getInt32(24) << 1,
|
|
157
|
+
version: e.getInt32(28, !0),
|
|
158
|
+
shpCode: e.getInt32(32, !0),
|
|
159
|
+
bbox: [
|
|
160
|
+
e.getFloat64(36, !0),
|
|
161
|
+
e.getFloat64(44, !0),
|
|
162
|
+
e.getFloat64(52, !0),
|
|
163
|
+
e.getFloat64(60, !0)
|
|
164
|
+
]
|
|
165
|
+
};
|
|
166
|
+
}, o.prototype.getRows = function() {
|
|
167
|
+
let e = 100, t = this.buffer.byteLength - 8, n = [], r;
|
|
168
|
+
for (; e <= t && (r = this.getRow(e), r);) e += 8, e += r.len, r.type ? n.push(this.parseFunc(r.data)) : n.push(null);
|
|
169
|
+
return n;
|
|
170
|
+
}, o.prototype.getRow = function(e) {
|
|
171
|
+
let t = this.buffer.getInt32(e), n = this.buffer.getInt32(e + 4) << 1;
|
|
172
|
+
if (n === 0) return {
|
|
173
|
+
id: t,
|
|
174
|
+
len: n,
|
|
175
|
+
type: 0
|
|
176
|
+
};
|
|
177
|
+
if (!(e + n + 8 > this.buffer.byteLength)) return {
|
|
178
|
+
id: t,
|
|
179
|
+
len: n,
|
|
180
|
+
data: new DataView(this.buffer.buffer, this.buffer.byteOffset + e + 12, n - 4),
|
|
181
|
+
type: this.buffer.getInt32(e + 8, !0)
|
|
182
|
+
};
|
|
183
|
+
}, globalThis.URL, new TextDecoder();
|
|
184
|
+
//#endregion
|
|
185
|
+
//#region src/utils/shapefile.ts
|
|
186
|
+
function s(e, t, n) {
|
|
187
|
+
return new Promise((r, i) => {
|
|
188
|
+
let a = new Worker(new URL(
|
|
189
|
+
/* @vite-ignore */
|
|
190
|
+
"/assets/shapefile.worker-kQfZj6G2.js",
|
|
191
|
+
"" + import.meta.url
|
|
192
|
+
), { type: "module" });
|
|
193
|
+
a.onmessage = (e) => {
|
|
194
|
+
a.terminate(), e.data.success && e.data.data ? r(e.data.data) : i(Error(e.data.error ?? "shapefile worker failed"));
|
|
195
|
+
}, a.onerror = (e) => {
|
|
196
|
+
a.terminate(), i(e.error ?? Error(e.message));
|
|
197
|
+
};
|
|
198
|
+
let o = [e];
|
|
199
|
+
t && o.push(t), a.postMessage({
|
|
200
|
+
shpBuffer: e,
|
|
201
|
+
dbfBuffer: t,
|
|
202
|
+
prjText: n
|
|
203
|
+
}, o);
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
//#endregion
|
|
207
|
+
export { s as shapefileToGeoJSONInWorker };
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { r as e } from "./chunk-HEgqtunE.js";
|
|
2
|
+
//#region node_modules/topojson-client/src/identity.js
|
|
3
|
+
function t(e) {
|
|
4
|
+
return e;
|
|
5
|
+
}
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region node_modules/topojson-client/src/transform.js
|
|
8
|
+
function n(e) {
|
|
9
|
+
if (e == null) return t;
|
|
10
|
+
var n, r, i = e.scale[0], a = e.scale[1], o = e.translate[0], s = e.translate[1];
|
|
11
|
+
return function(e, t) {
|
|
12
|
+
t || (n = r = 0);
|
|
13
|
+
var c = 2, l = e.length, u = Array(l);
|
|
14
|
+
for (u[0] = (n += e[0]) * i + o, u[1] = (r += e[1]) * a + s; c < l;) u[c] = e[c], ++c;
|
|
15
|
+
return u;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region node_modules/topojson-client/src/reverse.js
|
|
20
|
+
function r(e, t) {
|
|
21
|
+
for (var n, r = e.length, i = r - t; i < --r;) n = e[i], e[i++] = e[r], e[r] = n;
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region node_modules/topojson-client/src/feature.js
|
|
25
|
+
function i(e, t) {
|
|
26
|
+
return typeof t == "string" && (t = e.objects[t]), t.type === "GeometryCollection" ? {
|
|
27
|
+
type: "FeatureCollection",
|
|
28
|
+
features: t.geometries.map(function(t) {
|
|
29
|
+
return a(e, t);
|
|
30
|
+
})
|
|
31
|
+
} : a(e, t);
|
|
32
|
+
}
|
|
33
|
+
function a(e, t) {
|
|
34
|
+
var n = t.id, r = t.bbox, i = t.properties == null ? {} : t.properties, a = o(e, t);
|
|
35
|
+
return n == null && r == null ? {
|
|
36
|
+
type: "Feature",
|
|
37
|
+
properties: i,
|
|
38
|
+
geometry: a
|
|
39
|
+
} : r == null ? {
|
|
40
|
+
type: "Feature",
|
|
41
|
+
id: n,
|
|
42
|
+
properties: i,
|
|
43
|
+
geometry: a
|
|
44
|
+
} : {
|
|
45
|
+
type: "Feature",
|
|
46
|
+
id: n,
|
|
47
|
+
bbox: r,
|
|
48
|
+
properties: i,
|
|
49
|
+
geometry: a
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function o(e, t) {
|
|
53
|
+
var i = n(e.transform), a = e.arcs;
|
|
54
|
+
function o(e, t) {
|
|
55
|
+
t.length && t.pop();
|
|
56
|
+
for (var n = a[e < 0 ? ~e : e], o = 0, s = n.length; o < s; ++o) t.push(i(n[o], o));
|
|
57
|
+
e < 0 && r(t, s);
|
|
58
|
+
}
|
|
59
|
+
function s(e) {
|
|
60
|
+
return i(e);
|
|
61
|
+
}
|
|
62
|
+
function c(e) {
|
|
63
|
+
for (var t = [], n = 0, r = e.length; n < r; ++n) o(e[n], t);
|
|
64
|
+
return t.length < 2 && t.push(t[0]), t;
|
|
65
|
+
}
|
|
66
|
+
function l(e) {
|
|
67
|
+
for (var t = c(e); t.length < 4;) t.push(t[0]);
|
|
68
|
+
return t;
|
|
69
|
+
}
|
|
70
|
+
function u(e) {
|
|
71
|
+
return e.map(l);
|
|
72
|
+
}
|
|
73
|
+
function d(e) {
|
|
74
|
+
var t = e.type, n;
|
|
75
|
+
switch (t) {
|
|
76
|
+
case "GeometryCollection": return {
|
|
77
|
+
type: t,
|
|
78
|
+
geometries: e.geometries.map(d)
|
|
79
|
+
};
|
|
80
|
+
case "Point":
|
|
81
|
+
n = s(e.coordinates);
|
|
82
|
+
break;
|
|
83
|
+
case "MultiPoint":
|
|
84
|
+
n = e.coordinates.map(s);
|
|
85
|
+
break;
|
|
86
|
+
case "LineString":
|
|
87
|
+
n = c(e.arcs);
|
|
88
|
+
break;
|
|
89
|
+
case "MultiLineString":
|
|
90
|
+
n = e.arcs.map(c);
|
|
91
|
+
break;
|
|
92
|
+
case "Polygon":
|
|
93
|
+
n = u(e.arcs);
|
|
94
|
+
break;
|
|
95
|
+
case "MultiPolygon":
|
|
96
|
+
n = e.arcs.map(u);
|
|
97
|
+
break;
|
|
98
|
+
default: return null;
|
|
99
|
+
}
|
|
100
|
+
return {
|
|
101
|
+
type: t,
|
|
102
|
+
coordinates: n
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
return d(t);
|
|
106
|
+
}
|
|
107
|
+
//#endregion
|
|
108
|
+
//#region node_modules/topojson-client/src/index.js
|
|
109
|
+
var s = /* @__PURE__ */ e({ feature: () => i });
|
|
110
|
+
//#endregion
|
|
111
|
+
export { i as n, s as t };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/utils/throttle.ts
|
|
2
|
+
var e = (e, t) => {
|
|
3
|
+
let n = null, r = 0;
|
|
4
|
+
return function(...i) {
|
|
5
|
+
let a = this, o = Date.now(), s = o - r;
|
|
6
|
+
if (s >= t) {
|
|
7
|
+
n &&= (clearTimeout(n), null), r = o, e.apply(a, i);
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
n && clearTimeout(n), n = setTimeout(() => {
|
|
11
|
+
n = null, r = Date.now(), e.apply(a, i);
|
|
12
|
+
}, t - s);
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { e as t };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { r as e } from "./chunk-HEgqtunE.js";
|
|
2
|
+
//#region src/utils/toast.ts
|
|
3
|
+
var t = /* @__PURE__ */ e({ showToast: () => n });
|
|
4
|
+
async function n(e, t = {}) {
|
|
5
|
+
let { variant: n = "neutral", icon: r = n === "danger" ? "x-circle" : n === "warning" ? "exclamation-triangle" : "info-circle", duration: i = n === "danger" ? Infinity : 8e3, closable: a = !0 } = t;
|
|
6
|
+
await import("./alert-GeHlqlN8.js"), await import("./icon-CEOgWlro.js").then((e) => e.t);
|
|
7
|
+
let o = Object.assign(document.createElement("sl-alert"), {
|
|
8
|
+
variant: n,
|
|
9
|
+
closable: a,
|
|
10
|
+
duration: i
|
|
11
|
+
});
|
|
12
|
+
o.innerHTML = `<sl-icon slot="icon" name="${r}"></sl-icon>${e}`, document.body.appendChild(o), o.toast();
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { t as n, n as t };
|