@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.
Files changed (84) hide show
  1. package/README.md +149 -0
  2. package/dist-lib/WMTS-DCN4zX0-.js +1169 -0
  3. package/dist-lib/alert-GeHlqlN8.js +310 -0
  4. package/dist-lib/assets/epsg-lookup.worker-J7TVnHDq.js +1 -0
  5. package/dist-lib/assets/shapefile.worker-kQfZj6G2.js +4 -0
  6. package/dist-lib/attribution-format-B4f05_u0.js +62 -0
  7. package/dist-lib/button-DFdGkRPQ.js +741 -0
  8. package/dist-lib/cesium-adapter-BHXNytkU.js +1488 -0
  9. package/dist-lib/checkbox-QoR4S8tV.js +284 -0
  10. package/dist-lib/chunk-HEgqtunE.js +20 -0
  11. package/dist-lib/chunk.36O46B5H-B6ZL7Sm1.js +77 -0
  12. package/dist-lib/chunk.3RPBFEDE-BFO1fHVm.js +138 -0
  13. package/dist-lib/chunk.5JY5FUCG-DTXsslmx.js +1090 -0
  14. package/dist-lib/chunk.6CTB5ZDJ-DjZrBd6Y.js +99 -0
  15. package/dist-lib/chunk.AJ3ENQ5C-Ci7Gm2b6.js +175 -0
  16. package/dist-lib/chunk.LD4M4QGE-CiCfhE8r.js +8 -0
  17. package/dist-lib/chunk.NYIIDP5N-BikXIStD.js +99 -0
  18. package/dist-lib/chunk.RWUUFNUL-DFztA4uV.js +43 -0
  19. package/dist-lib/chunk.SI4ACBFK-CLb9VfMG.js +61 -0
  20. package/dist-lib/chunk.YHLNUJ7P-D-kanrCf.js +503 -0
  21. package/dist-lib/core-CMAlSR68.js +22 -0
  22. package/dist-lib/decorate-CWgUV1hU.js +1139 -0
  23. package/dist-lib/decorators-B35AgiCU.js +351 -0
  24. package/dist-lib/deferred-query-service-BJDcngw6.js +386 -0
  25. package/dist-lib/dist-Dm6b7XCs.js +12318 -0
  26. package/dist-lib/dist-Ha9LQCut.js +244 -0
  27. package/dist-lib/dist-c1PlDAd1.js +2359 -0
  28. package/dist-lib/dist-kKlmcBXq.js +50 -0
  29. package/dist-lib/divider-CPm675yY.js +41 -0
  30. package/dist-lib/dropped-config-C_GyVa8o.js +17 -0
  31. package/dist-lib/dropped-layer-builder-DAaYgUPk.js +396 -0
  32. package/dist-lib/epsg-definitions-BZLZWa8Q.js +668 -0
  33. package/dist-lib/esm-CTuscnN5.js +46 -0
  34. package/dist-lib/file-sniff-Dhxj3KTF.js +251 -0
  35. package/dist-lib/geo-calculations-DbFJAUoI.js +30 -0
  36. package/dist-lib/icon-CEOgWlro.js +9 -0
  37. package/dist-lib/icon-button-Da_nBTy3.js +408 -0
  38. package/dist-lib/input-CeGntPlT.js +590 -0
  39. package/dist-lib/layer-discovery-afWzu5hY.js +2825 -0
  40. package/dist-lib/leaflet-adapter-D9djjrKv.js +1227 -0
  41. package/dist-lib/lib-CdHVicAE.js +4074 -0
  42. package/dist-lib/map-layer-registry-2cmkiRDK.js +62 -0
  43. package/dist-lib/maplibre-adapter-TFc3e0G9.js +1190 -0
  44. package/dist-lib/maplibre-expression-evaluator-DCWUcpwf.js +7233 -0
  45. package/dist-lib/marker-utils-DztWXeop.js +12 -0
  46. package/dist-lib/ol-tilegrid-9VtyxaLG.js +64 -0
  47. package/dist-lib/openlayers-adapter-DVW1KCRv.js +13307 -0
  48. package/dist-lib/option-CBxl1mZP.js +1106 -0
  49. package/dist-lib/papaparse.min-B7v3c0D7.js +501 -0
  50. package/dist-lib/rbush-C8k41T4z.js +254 -0
  51. package/dist-lib/shapefile-SawVY6xg.js +207 -0
  52. package/dist-lib/spinner-DysxdNG9.js +6 -0
  53. package/dist-lib/src-CL94RDe3.js +111 -0
  54. package/dist-lib/throttle-BeneRNYK.js +16 -0
  55. package/dist-lib/toast-Cm28o9U6.js +15 -0
  56. package/dist-lib/togeojson.es-DAgiTBvg.js +579 -0
  57. package/dist-lib/tooltip-Cucn1SiD.js +197 -0
  58. package/dist-lib/webmapx-3d-tool-D4CTD2gB.js +176 -0
  59. package/dist-lib/webmapx-base-tool-Dm9NAWLD.js +75 -0
  60. package/dist-lib/webmapx-config-edit-tool-DCTyxqTk.js +389 -0
  61. package/dist-lib/webmapx-coordinates-tool-jeWohup9.js +648 -0
  62. package/dist-lib/webmapx-core-bundle-BDImi1RE.js +8203 -0
  63. package/dist-lib/webmapx-draw-tool-DooAV8cF.js +4336 -0
  64. package/dist-lib/webmapx-geolocation-tool-Rw3-Iad1.js +788 -0
  65. package/dist-lib/webmapx-import-layer-tool-DRYviHd5.js +250 -0
  66. package/dist-lib/webmapx-info-tool-BJA157cy.js +412 -0
  67. package/dist-lib/webmapx-language-osmvector-M5y_lwOg.js +489 -0
  68. package/dist-lib/webmapx-measure-tool-BXhMJFC6.js +590 -0
  69. package/dist-lib/webmapx-modal-tool-eF6Naluv.js +84 -0
  70. package/dist-lib/webmapx-plugin-tool-D2Hghf9n.js +45 -0
  71. package/dist-lib/webmapx-print-tool-ob1bOsR5.js +348 -0
  72. package/dist-lib/webmapx-search-tool-Cv8BrYvY.js +437 -0
  73. package/dist-lib/webmapx-settings-DDEJ8aoV.js +479 -0
  74. package/dist-lib/webmapx-truearea-tool-CMB4Orm-.js +615 -0
  75. package/dist-lib/webmapx-view-mode-tool-CUpLNjOj.js +106 -0
  76. package/dist-lib/webmapx.css +2 -0
  77. package/dist-lib/webmapx.js +1321 -0
  78. package/dist-lib/wms-feature-info-C0RVMEQC.js +145 -0
  79. package/dist-lib/wms-url-builder-DIJLQ1v2.js +54 -0
  80. package/dist-lib/zip.js-DVhmtjxZ.js +3615 -0
  81. package/package.json +107 -0
  82. package/public/data/country-epsg-codes.json +297 -0
  83. package/public/data/world-countries-simplified.topojson +1 -0
  84. package/src/locales/en/core.json +20 -0
@@ -0,0 +1,145 @@
1
+ //#region src/map/wms-feature-info.ts
2
+ var e = 6378137;
3
+ function t(t) {
4
+ return t * Math.PI / 180 * e;
5
+ }
6
+ function n(t) {
7
+ let n = Math.max(-85.05112878, Math.min(85.05112878, t));
8
+ return Math.log(Math.tan(Math.PI / 4 + n * Math.PI / 360)) * e;
9
+ }
10
+ function r(e) {
11
+ let r = e.sourceConfig, i = r.version ?? "1.3.0", a = Array.isArray(r.url) ? r.url[0] : r.url, o = r.layers ?? "", { bounds: s, containerWidth: c, containerHeight: l, pixelX: u, pixelY: d } = e, f = new URL(a), p = [
12
+ "service",
13
+ "request",
14
+ "version",
15
+ "layers",
16
+ "query_layers",
17
+ "width",
18
+ "height",
19
+ "feature_count",
20
+ "info_format",
21
+ "crs",
22
+ "srs",
23
+ "bbox",
24
+ "i",
25
+ "j",
26
+ "x",
27
+ "y",
28
+ "styles"
29
+ ];
30
+ for (let e of [...f.searchParams.keys()]) p.includes(e.toLowerCase()) && f.searchParams.delete(e);
31
+ f.searchParams.set("SERVICE", "WMS"), f.searchParams.set("REQUEST", "GetFeatureInfo"), f.searchParams.set("VERSION", i), f.searchParams.set("LAYERS", o), f.searchParams.set("QUERY_LAYERS", o), f.searchParams.set("WIDTH", String(Math.round(c))), f.searchParams.set("HEIGHT", String(Math.round(l))), f.searchParams.set("FEATURE_COUNT", String(e.featureCount ?? 1));
32
+ let m = r.format === "image/png" || !r.format ? "application/json" : r.format;
33
+ f.searchParams.set("INFO_FORMAT", m);
34
+ let { west: h, south: g, east: _, north: v } = s, y = r.crs ?? "EPSG:4326", b = y === "EPSG:3857" || y === "EPSG:900913" ? [
35
+ t(h),
36
+ n(g),
37
+ t(_),
38
+ n(v)
39
+ ] : [
40
+ h,
41
+ g,
42
+ _,
43
+ v
44
+ ];
45
+ if (i.startsWith("1.3")) {
46
+ f.searchParams.set("CRS", y);
47
+ let e = y === "EPSG:4326";
48
+ f.searchParams.set("BBOX", e ? `${b[1]},${b[0]},${b[3]},${b[2]}` : `${b[0]},${b[1]},${b[2]},${b[3]}`), f.searchParams.set("I", String(Math.round(u))), f.searchParams.set("J", String(Math.round(d)));
49
+ } else f.searchParams.set("SRS", y), f.searchParams.set("BBOX", `${b[0]},${b[1]},${b[2]},${b[3]}`), f.searchParams.set("X", String(Math.round(u))), f.searchParams.set("Y", String(Math.round(d)));
50
+ return r.styles && f.searchParams.set("STYLES", r.styles), f.toString();
51
+ }
52
+ function i(e, t, n) {
53
+ return typeof e != "object" || !e || e.type !== "FeatureCollection" ? [] : (e.features ?? []).map((e) => ({
54
+ layerId: t,
55
+ layerTitle: n,
56
+ properties: e.properties ?? {},
57
+ geometry: e.geometry ?? void 0,
58
+ source: "wms"
59
+ }));
60
+ }
61
+ function a(e, t, n) {
62
+ let r;
63
+ try {
64
+ r = new DOMParser().parseFromString(e, "text/xml");
65
+ } catch {
66
+ return [{
67
+ layerId: t,
68
+ layerTitle: n,
69
+ properties: { _raw: e },
70
+ source: "wms"
71
+ }];
72
+ }
73
+ let i = [], a = o(r.documentElement);
74
+ for (let e of a) {
75
+ let r = {};
76
+ for (let t = 0; t < e.children.length; t++) {
77
+ let n = e.children[t];
78
+ if (n.children.length > 0 || n.namespaceURI === "http://www.opengis.net/gml") continue;
79
+ let i = n.localName ?? n.nodeName.replace(/^[^:]+:/, ""), a = n.textContent?.trim() ?? "";
80
+ i && a && (r[i] = isNaN(Number(a)) || a === "" ? a : Number(a));
81
+ }
82
+ Object.keys(r).length > 0 && i.push({
83
+ layerId: t,
84
+ layerTitle: n,
85
+ properties: r,
86
+ source: "wms"
87
+ });
88
+ }
89
+ if (i.length === 0 && e.trim()) {
90
+ let r = {}, a = /<([A-Za-z_][A-Za-z0-9_:]*)(?:\s[^>]*)?>([^<]+)<\/\1>/g, o;
91
+ for (; (o = a.exec(e)) !== null;) {
92
+ let e = o[1].replace(/^[^:]+:/, ""), t = o[2].trim();
93
+ t && (r[e] = isNaN(Number(t)) || t === "" ? t : Number(t));
94
+ }
95
+ Object.keys(r).length > 0 && i.push({
96
+ layerId: t,
97
+ layerTitle: n,
98
+ properties: r,
99
+ source: "wms"
100
+ });
101
+ }
102
+ return i;
103
+ }
104
+ function o(e) {
105
+ let t = e.getElementsByTagNameNS("http://www.opengis.net/gml", "featureMember");
106
+ if (t.length > 0) {
107
+ let e = [];
108
+ for (let n = 0; n < t.length; n++) {
109
+ let r = t[n].children[0];
110
+ r && e.push(r);
111
+ }
112
+ return e;
113
+ }
114
+ let n = e.getElementsByTagNameNS("http://www.opengis.net/gml", "boundedBy");
115
+ if (n.length > 0) {
116
+ let e = [];
117
+ for (let t = 0; t < n.length; t++) {
118
+ let r = n[t].parentElement;
119
+ r && e.push(r);
120
+ }
121
+ return e;
122
+ }
123
+ let r = e.querySelectorAll("FIELDS, Layer");
124
+ return r.length > 0 ? Array.from(r) : e.children.length > 0 && e.children[0].children.length > 0 ? [e.children[0]] : [e];
125
+ }
126
+ async function s(e) {
127
+ let t;
128
+ try {
129
+ t = r(e);
130
+ } catch {
131
+ return [];
132
+ }
133
+ try {
134
+ let n = await fetch(t);
135
+ if (!n.ok) return [];
136
+ let r = n.headers.get("content-type") ?? "";
137
+ if (r.includes("application/json") || r.includes("text/json")) return i(await n.json(), e.layerId, e.layerTitle);
138
+ let o = await n.text();
139
+ return !o.trim() || o.includes("no features") || o.includes("ServiceException") ? [] : a(o, e.layerId, e.layerTitle);
140
+ } catch {
141
+ return [];
142
+ }
143
+ }
144
+ //#endregion
145
+ export { s as t };
@@ -0,0 +1,54 @@
1
+ //#region src/utils/wms-url-builder.ts
2
+ var e = class {
3
+ constructor() {
4
+ this.values = /* @__PURE__ */ new Map(), this.originalKeys = /* @__PURE__ */ new Map();
5
+ }
6
+ set(e, t) {
7
+ let n = e.toLowerCase();
8
+ this.originalKeys.has(n) || this.originalKeys.set(n, e), this.values.set(n, t);
9
+ }
10
+ get(e) {
11
+ return this.values.get(e.toLowerCase());
12
+ }
13
+ has(e) {
14
+ return this.values.has(e.toLowerCase());
15
+ }
16
+ getOriginalKey(e) {
17
+ return this.originalKeys.get(e.toLowerCase()) || e;
18
+ }
19
+ entries() {
20
+ let e = [];
21
+ for (let [t, n] of this.values) {
22
+ let r = this.originalKeys.get(t) || t;
23
+ e.push([r, n]);
24
+ }
25
+ return e;
26
+ }
27
+ };
28
+ function t(t, r) {
29
+ let { baseUrl: i, layers: a, version: o = "1.3.0", styles: s = "", format: c = "image/png", transparent: l = !0, crs: u = "EPSG:3857", tileSize: d = 256, extraParams: f = {} } = t, p;
30
+ try {
31
+ p = new URL(i, window?.location?.origin || "http://localhost");
32
+ } catch {
33
+ let e = document.createElement("a");
34
+ e.href = i, p = new URL(e.href, window?.location?.origin || "http://localhost");
35
+ }
36
+ let m = new e();
37
+ p.searchParams.forEach((e, t) => {
38
+ m.set(t, e);
39
+ });
40
+ for (let [e, t] of Object.entries(f)) m.set(e, t);
41
+ m.has("service") || m.set("service", "WMS"), m.has("request") || m.set("request", "GetMap"), m.has("version") || m.set("version", o), m.has("layers") || m.set("layers", a), m.has("styles") || m.set("styles", s), m.has("format") || m.set("format", c), m.has("transparent") || m.set("transparent", l ? "TRUE" : "FALSE");
42
+ let h = n(m.get("version") || o);
43
+ !m.has("crs") && !m.has("srs") && m.set(h ? "crs" : "srs", u);
44
+ let g = r === "maplibre" ? "{bbox-epsg-3857}" : "{bbox}";
45
+ m.set("bbox", g), m.has("width") || m.set("width", r === "maplibre" ? String(d) : "{width}"), m.has("height") || m.set("height", r === "maplibre" ? String(d) : "{height}");
46
+ let _ = m.entries().map(([e, t]) => t.includes("{") && t.includes("}") ? `${e}=${t}` : `${e}=${encodeURIComponent(t)}`);
47
+ return `${i.split("?")[0].replace(/[?&]+$/, "")}?${_.join("&")}`;
48
+ }
49
+ function n(e) {
50
+ let t = e.trim().split(".").map(Number);
51
+ return t.length >= 2 && (t[0] > 1 || t[0] === 1 && t[1] >= 3);
52
+ }
53
+ //#endregion
54
+ export { t };