@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,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 };
|