@idmwx/idmui-gl3 5.6.3 → 5.6.5
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/dist/index.js +923 -1058
- package/dist/index.umd.cjs +13 -13
- package/dist/mapbox/src/index.vue.d.ts +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/mapbox/src/components/weather/arctic.vue.d.ts +0 -50
package/dist/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
var ht = Object.defineProperty;
|
|
2
2
|
var dt = (t, e, a) => e in t ? ht(t, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : t[e] = a;
|
|
3
|
-
var
|
|
4
|
-
import { LayerHelper as
|
|
5
|
-
import
|
|
3
|
+
var W = (t, e, a) => (dt(t, typeof e != "symbol" ? e + "" : e, a), a);
|
|
4
|
+
import { LayerHelper as Ke, CompanyHelper as Xe } from "@idm-plugin/tag";
|
|
5
|
+
import U from "moment";
|
|
6
6
|
import le from "axios";
|
|
7
|
-
import
|
|
8
|
-
import { resolveComponent as z, openBlock as
|
|
9
|
-
import * as
|
|
7
|
+
import Ge from "moment-timezone";
|
|
8
|
+
import { resolveComponent as z, openBlock as m, createElementBlock as g, createElementVNode as s, normalizeStyle as V, createVNode as M, withCtx as ae, normalizeClass as F, Fragment as R, renderList as G, toDisplayString as I, createCommentVNode as j, createBlock as pt, createTextVNode as q, withDirectives as ye, createStaticVNode as ut, vShow as we, defineComponent as mt, withModifiers as Ue, mergeProps as H } from "vue";
|
|
9
|
+
import * as k from "@turf/turf";
|
|
10
10
|
import gt from "@mapbox/sphericalmercator";
|
|
11
11
|
import ve from "mapbox-gl";
|
|
12
|
-
import { TropicalHelper as nt, LngLatHelper as
|
|
13
|
-
import { TidesAssist as
|
|
14
|
-
const
|
|
12
|
+
import { TropicalHelper as nt, LngLatHelper as X, LaneHelper as be } from "@idm-plugin/geo";
|
|
13
|
+
import { TidesAssist as Ye, Meteo2Assist as We } from "@idm-plugin/meteo";
|
|
14
|
+
const S = (t, e) => {
|
|
15
15
|
const a = t.__vccOpts || t;
|
|
16
16
|
for (const [r, i] of e)
|
|
17
17
|
a[r] = i;
|
|
@@ -72,9 +72,9 @@ const T = (t, e) => {
|
|
|
72
72
|
autoActive: !0,
|
|
73
73
|
layers: {
|
|
74
74
|
weather: [
|
|
75
|
-
...
|
|
75
|
+
...Ke.WEATHER_LAYERS.filter((t) => !["swell-height", "swell-direction", "current-direction", "current-speed"].includes(t.key))
|
|
76
76
|
],
|
|
77
|
-
other: [...
|
|
77
|
+
other: [...Ke.OTHER_LAYERS.filter((t) => t.enabled)]
|
|
78
78
|
},
|
|
79
79
|
activeWeatherLayers: [],
|
|
80
80
|
activeWeatherLayersCollected: [],
|
|
@@ -120,7 +120,7 @@ const T = (t, e) => {
|
|
|
120
120
|
return function(t) {
|
|
121
121
|
var e;
|
|
122
122
|
if (t) {
|
|
123
|
-
const a =
|
|
123
|
+
const a = U(t);
|
|
124
124
|
return `${(e = a == null ? void 0 : a.utc()) == null ? void 0 : e.format("MMM-DD/HHmm")}Z`;
|
|
125
125
|
}
|
|
126
126
|
return "-";
|
|
@@ -307,14 +307,14 @@ const T = (t, e) => {
|
|
|
307
307
|
class: "radio-tip"
|
|
308
308
|
};
|
|
309
309
|
function $t(t, e, a, r, i, o) {
|
|
310
|
-
const l = z("ElTooltip"), c = z("ElRadio"), h = z("ElRadioGroup"),
|
|
311
|
-
return
|
|
310
|
+
const l = z("ElTooltip"), c = z("ElRadio"), h = z("ElRadioGroup"), p = z("ElScrollbar");
|
|
311
|
+
return m(), g("div", ft, [
|
|
312
312
|
s("div", {
|
|
313
313
|
class: "menu-bar-box",
|
|
314
|
-
style:
|
|
314
|
+
style: V({ top: a.top + 10 + "px", right: i.right + "px" })
|
|
315
315
|
}, [
|
|
316
316
|
s("div", yt, [
|
|
317
|
-
|
|
317
|
+
M(l, {
|
|
318
318
|
placement: "left",
|
|
319
319
|
effect: "light",
|
|
320
320
|
content: "Menu",
|
|
@@ -322,7 +322,7 @@ function $t(t, e, a, r, i, o) {
|
|
|
322
322
|
}, {
|
|
323
323
|
default: ae(() => [
|
|
324
324
|
s("div", {
|
|
325
|
-
class:
|
|
325
|
+
class: F(a.layerToggle ? "menu-icon active" : "menu-icon"),
|
|
326
326
|
onClick: e[0] || (e[0] = (...n) => o.handleMenuToggle && o.handleMenuToggle(...n))
|
|
327
327
|
}, e[17] || (e[17] = [
|
|
328
328
|
s("span", { class: "iconfont" }, "", -1)
|
|
@@ -334,10 +334,10 @@ function $t(t, e, a, r, i, o) {
|
|
|
334
334
|
], 4),
|
|
335
335
|
s("div", {
|
|
336
336
|
class: "menu-bar-box",
|
|
337
|
-
style:
|
|
337
|
+
style: V({ top: a.top + 160 + "px", right: i.right + "px" })
|
|
338
338
|
}, [
|
|
339
339
|
s("div", wt, [
|
|
340
|
-
|
|
340
|
+
M(l, {
|
|
341
341
|
placement: "left",
|
|
342
342
|
effect: "light",
|
|
343
343
|
content: "Measure",
|
|
@@ -345,7 +345,7 @@ function $t(t, e, a, r, i, o) {
|
|
|
345
345
|
}, {
|
|
346
346
|
default: ae(() => [
|
|
347
347
|
s("div", {
|
|
348
|
-
class:
|
|
348
|
+
class: F(i.showMeasure ? "menu-icon active" : "menu-icon"),
|
|
349
349
|
onClick: e[1] || (e[1] = (...n) => o.handleMeasureToggle && o.handleMeasureToggle(...n))
|
|
350
350
|
}, e[18] || (e[18] = [
|
|
351
351
|
s("span", { class: "iconfont" }, "", -1)
|
|
@@ -353,7 +353,7 @@ function $t(t, e, a, r, i, o) {
|
|
|
353
353
|
]),
|
|
354
354
|
_: 1
|
|
355
355
|
}),
|
|
356
|
-
|
|
356
|
+
M(l, {
|
|
357
357
|
placement: "left",
|
|
358
358
|
effect: "light",
|
|
359
359
|
content: "Point Meteo",
|
|
@@ -361,7 +361,7 @@ function $t(t, e, a, r, i, o) {
|
|
|
361
361
|
}, {
|
|
362
362
|
default: ae(() => [
|
|
363
363
|
s("div", {
|
|
364
|
-
class:
|
|
364
|
+
class: F(i.showPoint ? "menu-icon active" : "menu-icon"),
|
|
365
365
|
onClick: e[2] || (e[2] = (...n) => o.handlePointToggle && o.handlePointToggle(...n))
|
|
366
366
|
}, e[19] || (e[19] = [
|
|
367
367
|
s("span", { class: "iconfont" }, "", -1)
|
|
@@ -369,7 +369,7 @@ function $t(t, e, a, r, i, o) {
|
|
|
369
369
|
]),
|
|
370
370
|
_: 1
|
|
371
371
|
}),
|
|
372
|
-
|
|
372
|
+
M(l, {
|
|
373
373
|
placement: "left",
|
|
374
374
|
effect: "light",
|
|
375
375
|
content: "Grid",
|
|
@@ -377,7 +377,7 @@ function $t(t, e, a, r, i, o) {
|
|
|
377
377
|
}, {
|
|
378
378
|
default: ae(() => [
|
|
379
379
|
s("div", {
|
|
380
|
-
class:
|
|
380
|
+
class: F(i.showCoord ? "menu-icon active" : "menu-icon"),
|
|
381
381
|
onClick: e[3] || (e[3] = (...n) => o.handleCoordToggle && o.handleCoordToggle(...n))
|
|
382
382
|
}, e[20] || (e[20] = [
|
|
383
383
|
s("span", { class: "iconfont" }, "", -1)
|
|
@@ -385,7 +385,7 @@ function $t(t, e, a, r, i, o) {
|
|
|
385
385
|
]),
|
|
386
386
|
_: 1
|
|
387
387
|
}),
|
|
388
|
-
|
|
388
|
+
M(l, {
|
|
389
389
|
placement: "left",
|
|
390
390
|
effect: "light",
|
|
391
391
|
content: "3D",
|
|
@@ -393,7 +393,7 @@ function $t(t, e, a, r, i, o) {
|
|
|
393
393
|
}, {
|
|
394
394
|
default: ae(() => [
|
|
395
395
|
s("div", {
|
|
396
|
-
class:
|
|
396
|
+
class: F(i.show3d ? "menu-icon active" : "menu-icon"),
|
|
397
397
|
onClick: e[4] || (e[4] = (...n) => o.handle3DToggle && o.handle3DToggle(...n))
|
|
398
398
|
}, e[21] || (e[21] = [
|
|
399
399
|
s("span", { class: "iconfont" }, "", -1)
|
|
@@ -403,10 +403,10 @@ function $t(t, e, a, r, i, o) {
|
|
|
403
403
|
})
|
|
404
404
|
])
|
|
405
405
|
], 4),
|
|
406
|
-
o.hasCollectedLayers ? (
|
|
406
|
+
o.hasCollectedLayers ? (m(), g("div", {
|
|
407
407
|
key: 0,
|
|
408
408
|
class: "active-layers",
|
|
409
|
-
style:
|
|
409
|
+
style: V({ right: i.right + "px", bottom: "100px" })
|
|
410
410
|
}, [
|
|
411
411
|
s("div", bt, [
|
|
412
412
|
e[22] || (e[22] = s("div", { style: { margin: "2px 5px" } }, "Weather Layers", -1)),
|
|
@@ -415,12 +415,12 @@ function $t(t, e, a, r, i, o) {
|
|
|
415
415
|
style: { "font-size": "28px", "margin-right": "0" },
|
|
416
416
|
onClick: e[5] || (e[5] = (...n) => o.toggleAutoActive && o.toggleAutoActive(...n))
|
|
417
417
|
}, [
|
|
418
|
-
i.autoActive ? (
|
|
418
|
+
i.autoActive ? (m(), g("i", vt, "")) : (m(), g("i", Lt, ""))
|
|
419
419
|
])
|
|
420
420
|
]),
|
|
421
|
-
(
|
|
421
|
+
(m(!0), g(R, null, G(i.layers.weather.filter((n) => n.collected), (n) => (m(), g("div", {
|
|
422
422
|
key: n.key,
|
|
423
|
-
class:
|
|
423
|
+
class: F(o.computeLayerClass(n, i.activeWeatherLayersCollected))
|
|
424
424
|
}, [
|
|
425
425
|
s("div", {
|
|
426
426
|
class: "checkbox",
|
|
@@ -430,34 +430,34 @@ function $t(t, e, a, r, i, o) {
|
|
|
430
430
|
class: "name",
|
|
431
431
|
onClick: (d) => o.handleWeatherLayerPick(n)
|
|
432
432
|
}, I(n.name), 9, xt),
|
|
433
|
-
n.key === "wind" && i.activeWeatherLayersCollected.some((d) => d.key === n.key) ? (
|
|
433
|
+
n.key === "wind" && i.activeWeatherLayersCollected.some((d) => d.key === n.key) ? (m(), g("div", Bt, [
|
|
434
434
|
s("i", {
|
|
435
|
-
class:
|
|
435
|
+
class: F(["iconfont sub-layer-icon", i.showWindParticleCollected ? "active" : ""]),
|
|
436
436
|
onClick: e[6] || (e[6] = (d) => o.handleToggleWindParticle())
|
|
437
437
|
}, "", 2),
|
|
438
438
|
s("i", {
|
|
439
|
-
class:
|
|
439
|
+
class: F(["iconfont sub-layer-icon", i.showWindFeatherCollected ? "active" : ""]),
|
|
440
440
|
onClick: e[7] || (e[7] = (d) => o.handleToggleWindFeather())
|
|
441
441
|
}, "", 2)
|
|
442
|
-
])) :
|
|
443
|
-
n.key === "current" && i.activeWeatherLayersCollected.some((d) => d.key === n.key) ? (
|
|
442
|
+
])) : j("", !0),
|
|
443
|
+
n.key === "current" && i.activeWeatherLayersCollected.some((d) => d.key === n.key) ? (m(), g("div", It, [
|
|
444
444
|
s("i", {
|
|
445
|
-
class:
|
|
445
|
+
class: F(["iconfont sub-layer-icon", i.showCurrentParticleCollected ? "active" : ""]),
|
|
446
446
|
onClick: e[8] || (e[8] = (d) => o.handleToggleCurrentParticle())
|
|
447
447
|
}, "", 2),
|
|
448
448
|
s("i", {
|
|
449
|
-
class:
|
|
449
|
+
class: F(["iconfont sub-layer-icon", i.showCurrentIsobandCollected ? "active" : ""]),
|
|
450
450
|
onClick: e[9] || (e[9] = (d) => o.handleToggleCurrentIsoband())
|
|
451
451
|
}, "", 2)
|
|
452
|
-
])) :
|
|
452
|
+
])) : j("", !0)
|
|
453
453
|
], 2))), 128))
|
|
454
|
-
], 4)) :
|
|
454
|
+
], 4)) : j("", !0),
|
|
455
455
|
s("div", {
|
|
456
456
|
class: "available-layers flex-center",
|
|
457
|
-
style:
|
|
457
|
+
style: V({ top: a.top + "px", right: a.layerToggle ? "0px" : "-240px" })
|
|
458
458
|
}, [
|
|
459
459
|
s("div", {
|
|
460
|
-
class:
|
|
460
|
+
class: F(["list-box", a.layerToggle ? "right-bar" : ""])
|
|
461
461
|
}, [
|
|
462
462
|
s("div", Et, [
|
|
463
463
|
e[23] || (e[23] = s("div", null, "Layers", -1)),
|
|
@@ -466,7 +466,7 @@ function $t(t, e, a, r, i, o) {
|
|
|
466
466
|
onClick: e[10] || (e[10] = (...n) => o.handleMenuToggle && o.handleMenuToggle(...n))
|
|
467
467
|
}, "")
|
|
468
468
|
]),
|
|
469
|
-
|
|
469
|
+
M(p, { style: { flex: "1" } }, {
|
|
470
470
|
default: ae(() => [
|
|
471
471
|
s("div", Dt, [
|
|
472
472
|
s("div", Pt, [
|
|
@@ -476,16 +476,16 @@ function $t(t, e, a, r, i, o) {
|
|
|
476
476
|
style: { "margin-right": "0" },
|
|
477
477
|
onClick: e[11] || (e[11] = (...n) => o.toggleAutoActive && o.toggleAutoActive(...n))
|
|
478
478
|
}, [
|
|
479
|
-
i.autoActive ? (
|
|
479
|
+
i.autoActive ? (m(), g("i", kt, "")) : (m(), g("i", Mt, ""))
|
|
480
480
|
])
|
|
481
481
|
]),
|
|
482
482
|
s("div", zt, [
|
|
483
|
-
(
|
|
483
|
+
(m(!0), g(R, null, G(i.layers.weather, (n) => (m(), g(R, {
|
|
484
484
|
key: n.key
|
|
485
485
|
}, [
|
|
486
|
-
n.hide ?
|
|
486
|
+
n.hide ? j("", !0) : (m(), g("div", {
|
|
487
487
|
key: 0,
|
|
488
|
-
class:
|
|
488
|
+
class: F(o.computeLayerClass(n, i.activeWeatherLayersCollected))
|
|
489
489
|
}, [
|
|
490
490
|
s("div", Tt, [
|
|
491
491
|
s("div", {
|
|
@@ -496,31 +496,31 @@ function $t(t, e, a, r, i, o) {
|
|
|
496
496
|
class: "name",
|
|
497
497
|
onClick: (d) => o.handleWeatherLayerPick(n)
|
|
498
498
|
}, I(n.name), 9, St),
|
|
499
|
-
n.key === "wind" && i.activeWeatherLayersCollected.some((d) => d.key === n.key) ? (
|
|
499
|
+
n.key === "wind" && i.activeWeatherLayersCollected.some((d) => d.key === n.key) ? (m(), g("div", _t, [
|
|
500
500
|
s("i", {
|
|
501
|
-
class:
|
|
501
|
+
class: F(["iconfont sub-layer-icon", i.showWindParticleCollected ? "active" : ""]),
|
|
502
502
|
onClick: e[12] || (e[12] = (d) => o.handleToggleWindParticle())
|
|
503
503
|
}, "", 2),
|
|
504
504
|
s("i", {
|
|
505
|
-
class:
|
|
505
|
+
class: F(["iconfont sub-layer-icon", i.showWindFeatherCollected ? "active" : ""]),
|
|
506
506
|
onClick: e[13] || (e[13] = (d) => o.handleToggleWindFeather())
|
|
507
507
|
}, "", 2)
|
|
508
|
-
])) :
|
|
509
|
-
n.key === "current" && i.activeWeatherLayersCollected.some((d) => d.key === n.key) ? (
|
|
508
|
+
])) : j("", !0),
|
|
509
|
+
n.key === "current" && i.activeWeatherLayersCollected.some((d) => d.key === n.key) ? (m(), g("div", Ht, [
|
|
510
510
|
s("i", {
|
|
511
|
-
class:
|
|
511
|
+
class: F(["iconfont sub-layer-icon", i.showCurrentParticleCollected ? "active" : ""]),
|
|
512
512
|
onClick: e[14] || (e[14] = (d) => o.handleToggleCurrentParticle())
|
|
513
513
|
}, "", 2),
|
|
514
514
|
s("i", {
|
|
515
|
-
class:
|
|
515
|
+
class: F(["iconfont sub-layer-icon", i.showCurrentIsobandCollected ? "active" : ""]),
|
|
516
516
|
onClick: e[15] || (e[15] = (d) => o.handleToggleCurrentIsoband())
|
|
517
517
|
}, "", 2)
|
|
518
|
-
])) :
|
|
518
|
+
])) : j("", !0)
|
|
519
519
|
]),
|
|
520
520
|
s("div", {
|
|
521
521
|
onClick: (d) => o.handleWeatherLayerCollect(n)
|
|
522
522
|
}, [
|
|
523
|
-
n.collected ? (
|
|
523
|
+
n.collected ? (m(), g("i", Nt, "")) : (m(), g("i", jt, ""))
|
|
524
524
|
], 8, Ot)
|
|
525
525
|
], 2))
|
|
526
526
|
], 64))), 128)),
|
|
@@ -536,16 +536,16 @@ function $t(t, e, a, r, i, o) {
|
|
|
536
536
|
s("div", Rt, [
|
|
537
537
|
e[26] || (e[26] = s("div", { class: "layers-title" }, "Other Layers", -1)),
|
|
538
538
|
s("div", Ft, [
|
|
539
|
-
(
|
|
539
|
+
(m(!0), g(R, null, G(i.layers.other, (n) => {
|
|
540
540
|
var d;
|
|
541
|
-
return
|
|
541
|
+
return m(), g("div", {
|
|
542
542
|
key: n.key,
|
|
543
|
-
class:
|
|
543
|
+
class: F(["layer flex-between", o.computeLayerClass(n, i.activeOtherLayers)]),
|
|
544
544
|
onClick: (w) => o.handleOtherLayerPick(n)
|
|
545
545
|
}, [
|
|
546
546
|
s("div", Wt, [
|
|
547
547
|
s("div", Ut, [
|
|
548
|
-
(d = o.computeLayerClass(n, i.activeOtherLayers)) != null && d.includes("active") ? (
|
|
548
|
+
(d = o.computeLayerClass(n, i.activeOtherLayers)) != null && d.includes("active") ? (m(), g("i", Yt, "")) : (m(), g("i", Kt, ""))
|
|
549
549
|
]),
|
|
550
550
|
s("span", null, I(n.name), 1)
|
|
551
551
|
])
|
|
@@ -556,23 +556,23 @@ function $t(t, e, a, r, i, o) {
|
|
|
556
556
|
s("div", Xt, [
|
|
557
557
|
e[27] || (e[27] = s("span", { class: "layers-title" }, "Forecast Model", -1)),
|
|
558
558
|
s("div", Jt, [
|
|
559
|
-
|
|
559
|
+
M(h, {
|
|
560
560
|
modelValue: i.source,
|
|
561
561
|
"onUpdate:modelValue": e[16] || (e[16] = (n) => i.source = n),
|
|
562
562
|
class: "layer-radio flex-col-start-start",
|
|
563
563
|
style: { width: "180px", "align-items": "flex-start" }
|
|
564
564
|
}, {
|
|
565
565
|
default: ae(() => [
|
|
566
|
-
(
|
|
566
|
+
(m(!0), g(R, null, G(i.sourceList, (n, d) => (m(), pt(c, {
|
|
567
567
|
key: `source${n.name}`,
|
|
568
568
|
value: n.name
|
|
569
569
|
}, {
|
|
570
570
|
default: ae(() => {
|
|
571
|
-
var w, b,
|
|
571
|
+
var w, b, A, E, v, f;
|
|
572
572
|
return [
|
|
573
|
-
|
|
574
|
-
d !== 0 ? (
|
|
575
|
-
d === 0 ? (
|
|
573
|
+
q(I(n.name) + " ", 1),
|
|
574
|
+
d !== 0 ? (m(), g("span", qt, I(n.resolution) + "km " + I(n.length) + "days", 1)) : j("", !0),
|
|
575
|
+
d === 0 ? (m(), g("div", Vt, "Provides the best forecast")) : (A = (b = (w = n == null ? void 0 : n.update) == null ? void 0 : w.default) == null ? void 0 : b.meta) != null && A.initialisationTime ? (m(), g("div", Zt, "Update: " + I(o.computeDateZ((f = (v = (E = n == null ? void 0 : n.update) == null ? void 0 : E.default) == null ? void 0 : v.meta) == null ? void 0 : f.initialisationTime)), 1)) : j("", !0)
|
|
576
576
|
];
|
|
577
577
|
}),
|
|
578
578
|
_: 2
|
|
@@ -589,7 +589,7 @@ function $t(t, e, a, r, i, o) {
|
|
|
589
589
|
], 4)
|
|
590
590
|
]);
|
|
591
591
|
}
|
|
592
|
-
const ea = /* @__PURE__ */
|
|
592
|
+
const ea = /* @__PURE__ */ S(At, [["render", $t]]);
|
|
593
593
|
const ta = {
|
|
594
594
|
name: "IdmWindBarb",
|
|
595
595
|
props: {
|
|
@@ -628,7 +628,7 @@ const ta = {
|
|
|
628
628
|
return {
|
|
629
629
|
source: "wind-barb-source",
|
|
630
630
|
barbs: [0, 2, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105],
|
|
631
|
-
empty:
|
|
631
|
+
empty: k.featureCollection([]),
|
|
632
632
|
right: 10,
|
|
633
633
|
bottom: 125,
|
|
634
634
|
windBarbLoaded: !1
|
|
@@ -673,7 +673,7 @@ const ta = {
|
|
|
673
673
|
else {
|
|
674
674
|
this.map.addSource(this.source, { type: "geojson", data: c });
|
|
675
675
|
for (let h = 0; h < (this.barbs ?? []).length - 1; h++) {
|
|
676
|
-
const
|
|
676
|
+
const p = (this.barbs ?? [])[h] || 0, n = (this.barbs ?? [])[h + 1] || 0, d = p < 10 ? `00${p}kts` : p < 100 ? `0${p}kts` : `${p}kts`;
|
|
677
677
|
this.map.addLayer(
|
|
678
678
|
{
|
|
679
679
|
id: d,
|
|
@@ -681,7 +681,7 @@ const ta = {
|
|
|
681
681
|
filter: [
|
|
682
682
|
"all",
|
|
683
683
|
// @ts-ignore
|
|
684
|
-
[">=", "spd",
|
|
684
|
+
[">=", "spd", p],
|
|
685
685
|
// @ts-ignore
|
|
686
686
|
["<", "spd", n]
|
|
687
687
|
],
|
|
@@ -735,18 +735,18 @@ const ta = {
|
|
|
735
735
|
function aa(t, e, a, r, i, o) {
|
|
736
736
|
return null;
|
|
737
737
|
}
|
|
738
|
-
const ia = /* @__PURE__ */
|
|
739
|
-
class
|
|
738
|
+
const ia = /* @__PURE__ */ S(ta, [["render", aa]]);
|
|
739
|
+
class Je {
|
|
740
740
|
constructor(e) {
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
741
|
+
W(this, "map");
|
|
742
|
+
W(this, "mercator");
|
|
743
|
+
W(this, "rampColorLayer");
|
|
744
|
+
W(this, "rampColorSource");
|
|
745
|
+
W(this, "particleLayer");
|
|
746
|
+
W(this, "particleSource");
|
|
747
|
+
W(this, "rampColorCanvas");
|
|
748
|
+
W(this, "particleCanvas");
|
|
749
|
+
W(this, "ratio");
|
|
750
750
|
this.map = e, this.mercator = new gt(), this.rampColorLayer = "ramp-color-layer", this.rampColorSource = "ramp-color-source", this.particleLayer = "particle-layer", this.particleSource = "particle-source", this.rampColorCanvas = document.createElement("canvas"), this.particleCanvas = document.createElement("canvas"), this.ratio = window.devicePixelRatio;
|
|
751
751
|
}
|
|
752
752
|
/**
|
|
@@ -781,8 +781,8 @@ class Ve {
|
|
|
781
781
|
* @param [lb.x, lb.y, rt.x, rt.y]
|
|
782
782
|
*/
|
|
783
783
|
getBoundPixel() {
|
|
784
|
-
const e = this.map.getBounds(), a = this.map.getZoom() + 1, r = [e._ne.lng, e._ne.lat], i = [e._sw.lng, e._sw.lat], [o, l] = this.convertNLng(r[0]), [c, h] = this.convertNLng(i[0]), [
|
|
785
|
-
return [d, w,
|
|
784
|
+
const e = this.map.getBounds(), a = this.map.getZoom() + 1, r = [e._ne.lng, e._ne.lat], i = [e._sw.lng, e._sw.lat], [o, l] = this.convertNLng(r[0]), [c, h] = this.convertNLng(i[0]), [p, n] = this.mercator.px([o, r[1]], a), [d, w] = this.mercator.px([c, i[1]], a), b = Math.round(this.mercator.size * Math.pow(2, a) * (l + h));
|
|
785
|
+
return [d, w, p + b, n];
|
|
786
786
|
}
|
|
787
787
|
/**
|
|
788
788
|
* [视窗边界像素宽度]
|
|
@@ -819,7 +819,7 @@ class Ve {
|
|
|
819
819
|
a !== r && this.map.setLayoutProperty(this.particleLayer, "visibility", r);
|
|
820
820
|
}
|
|
821
821
|
}
|
|
822
|
-
class
|
|
822
|
+
class Ce {
|
|
823
823
|
/**
|
|
824
824
|
* 创建着色器
|
|
825
825
|
* @see https://webglfundamentals.org/webgl/lessons/zh_cn/webgl-shaders-and-glsl.html
|
|
@@ -885,13 +885,13 @@ class Le {
|
|
|
885
885
|
if (i) {
|
|
886
886
|
const o = { program: i }, l = e.getProgramParameter(i, e.ACTIVE_ATTRIBUTES);
|
|
887
887
|
for (let h = 0; h < l; h++) {
|
|
888
|
-
const
|
|
889
|
-
o[
|
|
888
|
+
const p = e.getActiveAttrib(i, h);
|
|
889
|
+
o[p.name] = e.getAttribLocation(i, p.name);
|
|
890
890
|
}
|
|
891
891
|
const c = e.getProgramParameter(i, e.ACTIVE_UNIFORMS);
|
|
892
892
|
for (let h = 0; h < c; h++) {
|
|
893
|
-
const
|
|
894
|
-
o[
|
|
893
|
+
const p = e.getActiveUniform(i, h);
|
|
894
|
+
o[p.name] = e.getUniformLocation(i, p.name);
|
|
895
895
|
}
|
|
896
896
|
return o;
|
|
897
897
|
}
|
|
@@ -906,8 +906,8 @@ class Le {
|
|
|
906
906
|
const c = l.getContext("2d");
|
|
907
907
|
if (c && e) {
|
|
908
908
|
const h = c == null ? void 0 : c.createLinearGradient(0, 0, 256, 0);
|
|
909
|
-
return a.forEach(([
|
|
910
|
-
h.addColorStop(
|
|
909
|
+
return a.forEach(([p, n]) => {
|
|
910
|
+
h.addColorStop(p, n);
|
|
911
911
|
}), c.fillStyle = h, c.fillRect(0, 0, 256, 1), {
|
|
912
912
|
canvas: l,
|
|
913
913
|
texture: this.createTexture(
|
|
@@ -929,8 +929,8 @@ class Le {
|
|
|
929
929
|
const l = this.createTexture(e, e.NEAREST, e.NEAREST, e.CLAMP_TO_EDGE, o, r, r), c = this.createTexture(e, e.NEAREST, e.NEAREST, e.CLAMP_TO_EDGE, o, r, r), h = new Float32Array(i);
|
|
930
930
|
for (let n = 0; n < i; n++)
|
|
931
931
|
h[n] = n;
|
|
932
|
-
const
|
|
933
|
-
return { resolution: r, total: i, texture0: l, texture1: c, indexBuffer:
|
|
932
|
+
const p = this.createDataBuffer(e, "array", h);
|
|
933
|
+
return { resolution: r, total: i, texture0: l, texture1: c, indexBuffer: p };
|
|
934
934
|
}
|
|
935
935
|
bind(e, a, r) {
|
|
936
936
|
const i = this.createProgram(e, a, r);
|
|
@@ -945,13 +945,13 @@ class Le {
|
|
|
945
945
|
return {};
|
|
946
946
|
}
|
|
947
947
|
bindParticle(e, a, r, i, o, l) {
|
|
948
|
-
const c = this.createProgramWrapper(e, a, r), h = this.createProgramWrapper(e, i, o),
|
|
949
|
-
return { particle: c, screen: h, update:
|
|
948
|
+
const c = this.createProgramWrapper(e, a, r), h = this.createProgramWrapper(e, i, o), p = this.createProgramWrapper(e, i, l), n = this.createDataBuffer(e, "array", new Float32Array([0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1])), d = e.createFramebuffer();
|
|
949
|
+
return { particle: c, screen: h, update: p, quadBuffer: n, frameBuffer: d };
|
|
950
950
|
}
|
|
951
951
|
draw(e, a, r, i, o, l, c) {
|
|
952
|
-
var h,
|
|
952
|
+
var h, p;
|
|
953
953
|
if (a && r) {
|
|
954
|
-
e.resize(), a == null || a.viewport(0, 0, (h = a == null ? void 0 : a.canvas) == null ? void 0 : h.width, (
|
|
954
|
+
e.resize(), a == null || a.viewport(0, 0, (h = a == null ? void 0 : a.canvas) == null ? void 0 : h.width, (p = a == null ? void 0 : a.canvas) == null ? void 0 : p.height), a.clearColor(0, 0, 0, 0), a.clear(a.COLOR_BUFFER_BIT | a.DEPTH_BUFFER_BIT);
|
|
955
955
|
try {
|
|
956
956
|
a.useProgram(r);
|
|
957
957
|
const n = {
|
|
@@ -964,9 +964,9 @@ class Le {
|
|
|
964
964
|
};
|
|
965
965
|
n.resolution && a.uniform2f(n.resolution, a.canvas.width * e.ratio, a.canvas.height * e.ratio), a.activeTexture(a.TEXTURE0), a.bindTexture(a.TEXTURE_2D, i), n.image && a.uniform1i(n.image, 0), a.activeTexture(a.TEXTURE1), a.bindTexture(a.TEXTURE_2D, o), n.color && a.uniform1i(n.color, 1), c != null && c.uvRange && (c != null && c.sRange) && (n.uvRange && a.uniform2f(n.uvRange, c.uvRange[0], c.uvRange[1]), n.sRange && a.uniform2f(n.sRange, c.sRange[0], c.sRange[1])), n.scale && a.uniform1f(n.scale, (c == null ? void 0 : c.scale) || 1);
|
|
966
966
|
const d = e.getBoundPixel(), w = e.map.getZoom() + 1, b = e.getWorldCopy(d, w);
|
|
967
|
-
for (const
|
|
968
|
-
const
|
|
969
|
-
a.bindBuffer(a.ARRAY_BUFFER, l), a.bufferData(a.ARRAY_BUFFER,
|
|
967
|
+
for (const A of b) {
|
|
968
|
+
const E = (A[0] - d[0]) * e.ratio, v = (A[1] - d[3]) * e.ratio, f = A[2] * e.ratio, [u, C, y, B] = [E, f + E, v, f + v], D = new Float32Array([u, y, C, y, u, B, u, B, C, y, C, B]);
|
|
969
|
+
a.bindBuffer(a.ARRAY_BUFFER, l), a.bufferData(a.ARRAY_BUFFER, D, a.STATIC_DRAW), a.drawArrays(a.TRIANGLES, 0, 6);
|
|
970
970
|
}
|
|
971
971
|
} catch (n) {
|
|
972
972
|
console.log(`render failed...${n}`);
|
|
@@ -1014,10 +1014,10 @@ class Le {
|
|
|
1014
1014
|
});
|
|
1015
1015
|
}
|
|
1016
1016
|
}
|
|
1017
|
-
class
|
|
1017
|
+
class Z {
|
|
1018
1018
|
}
|
|
1019
1019
|
// 顶点渲染
|
|
1020
|
-
|
|
1020
|
+
W(Z, "vertexSchema", `
|
|
1021
1021
|
//canvas 坐标系上的坐标 (x, y)
|
|
1022
1022
|
attribute vec2 a_position; //像素坐标
|
|
1023
1023
|
attribute vec2 a_texCoord; //纹理坐标
|
|
@@ -1032,7 +1032,7 @@ U(J, "vertexSchema", `
|
|
|
1032
1032
|
gl_Position = vec4(position * vec2(1, -1), 0.0, 1.0);
|
|
1033
1033
|
v_texCoord = a_texCoord;
|
|
1034
1034
|
}`), // 类如风、流等u v双变量片元渲染
|
|
1035
|
-
|
|
1035
|
+
W(Z, "uvFragmentSchema", `
|
|
1036
1036
|
precision mediump float;
|
|
1037
1037
|
uniform sampler2D u_image;
|
|
1038
1038
|
uniform vec2 u_range_u_v;
|
|
@@ -1052,7 +1052,7 @@ U(J, "uvFragmentSchema", `
|
|
|
1052
1052
|
|
|
1053
1053
|
gl_FragColor = color;
|
|
1054
1054
|
}`), // 类如浪、气压等单变量片元渲染
|
|
1055
|
-
|
|
1055
|
+
W(Z, "fragmentSchema", `
|
|
1056
1056
|
precision mediump float;
|
|
1057
1057
|
uniform sampler2D u_image; // 灰度
|
|
1058
1058
|
uniform sampler2D u_color; // 色值映射
|
|
@@ -1063,9 +1063,9 @@ U(J, "fragmentSchema", `
|
|
|
1063
1063
|
vec4 color = texture2D(u_color, vec2(rgba.r, 0));
|
|
1064
1064
|
gl_FragColor = color;
|
|
1065
1065
|
}`);
|
|
1066
|
-
class
|
|
1066
|
+
class ee {
|
|
1067
1067
|
}
|
|
1068
|
-
|
|
1068
|
+
W(ee, "vertexSchema", `
|
|
1069
1069
|
precision mediump float;
|
|
1070
1070
|
|
|
1071
1071
|
attribute float a_index; // 索引
|
|
@@ -1089,7 +1089,7 @@ U($, "vertexSchema", `
|
|
|
1089
1089
|
gl_PointSize = 1.0;
|
|
1090
1090
|
// gl_PointSize = u_point;
|
|
1091
1091
|
gl_Position = vec4(2.0 * v_particle_pos.x - 1.0, 1.0 - 2.0 * v_particle_pos.y, 0, 1);
|
|
1092
|
-
}`),
|
|
1092
|
+
}`), W(ee, "fragmentSchema", `
|
|
1093
1093
|
precision mediump float;
|
|
1094
1094
|
|
|
1095
1095
|
uniform sampler2D u_factor;
|
|
@@ -1111,7 +1111,7 @@ U($, "vertexSchema", `
|
|
|
1111
1111
|
|
|
1112
1112
|
float f = 1.0 - uv.b;
|
|
1113
1113
|
gl_FragColor = texture2D(u_color_ramp, ramp_pos) * f;
|
|
1114
|
-
}`),
|
|
1114
|
+
}`), W(ee, "quadVertSchema", `
|
|
1115
1115
|
precision mediump float;
|
|
1116
1116
|
|
|
1117
1117
|
attribute vec2 a_pos;
|
|
@@ -1121,7 +1121,7 @@ U($, "vertexSchema", `
|
|
|
1121
1121
|
void main() {
|
|
1122
1122
|
v_tex_pos = a_pos;
|
|
1123
1123
|
gl_Position = vec4(1.0 - 2.0 * a_pos, 0, 1);
|
|
1124
|
-
}`),
|
|
1124
|
+
}`), W(ee, "screenFragmentSchema", `
|
|
1125
1125
|
precision mediump float;
|
|
1126
1126
|
|
|
1127
1127
|
uniform sampler2D u_screen;
|
|
@@ -1133,7 +1133,7 @@ U($, "vertexSchema", `
|
|
|
1133
1133
|
vec4 color = texture2D(u_screen, 1.0 - v_tex_pos);
|
|
1134
1134
|
// a hack to guarantee opacity fade out even with a value close to 1.0
|
|
1135
1135
|
gl_FragColor = vec4(floor(255.0 * color * u_opacity) / 255.0);
|
|
1136
|
-
}`),
|
|
1136
|
+
}`), W(ee, "updateFragmentSchema", `
|
|
1137
1137
|
precision mediump float;
|
|
1138
1138
|
|
|
1139
1139
|
uniform sampler2D u_particles;
|
|
@@ -1214,12 +1214,12 @@ U($, "vertexSchema", `
|
|
|
1214
1214
|
}`);
|
|
1215
1215
|
class ra {
|
|
1216
1216
|
constructor(e = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNseTVudHJzYzAwNWUwbHBsZHkyaDRqczMiLCJyb2xlIjoxLCJuYW1lIjoiZmFrZUBvcm13eC5jb20iLCJwbGF0SWQiOiJnZDBtdDFkIiwiY29tcGFueSI6eyJpZCI6bnVsbCwiY2hpbGRyZW4iOltdfSwiaWF0IjoxNzIzMDI0MDI0LCJleHAiOjM5MzA1NDQwMjR9.RrKcdcMnq-FxBLJQ-i6lx2FscDE46y8EvHIemPW4HTg") {
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1217
|
+
W(this, "token");
|
|
1218
|
+
W(this, "mapboxCustomer");
|
|
1219
|
+
W(this, "i4");
|
|
1220
|
+
W(this, "hi");
|
|
1221
|
+
W(this, "td");
|
|
1222
|
+
W(this, "windy");
|
|
1223
1223
|
this.token = e, this.mapboxCustomer = {
|
|
1224
1224
|
source: this.initialOnlineStyle().sources.composite,
|
|
1225
1225
|
layers: {
|
|
@@ -3044,7 +3044,7 @@ const oa = {
|
|
|
3044
3044
|
type: Object
|
|
3045
3045
|
},
|
|
3046
3046
|
viewport: {
|
|
3047
|
-
type:
|
|
3047
|
+
type: Je
|
|
3048
3048
|
},
|
|
3049
3049
|
bottom: {
|
|
3050
3050
|
type: String,
|
|
@@ -3061,7 +3061,7 @@ const oa = {
|
|
|
3061
3061
|
texture: void 0,
|
|
3062
3062
|
rampColor: void 0,
|
|
3063
3063
|
aPositionBuffer: void 0,
|
|
3064
|
-
webgl: new
|
|
3064
|
+
webgl: new Ce(),
|
|
3065
3065
|
etime: void 0,
|
|
3066
3066
|
wrapper: void 0,
|
|
3067
3067
|
animation: void 0,
|
|
@@ -3151,7 +3151,7 @@ const oa = {
|
|
|
3151
3151
|
[1, "rgb(91, 136, 161)"]
|
|
3152
3152
|
];
|
|
3153
3153
|
this.rampColor = this.webgl.setup(this.context, t);
|
|
3154
|
-
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context,
|
|
3154
|
+
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context, Z.vertexSchema, Z.uvFragmentSchema);
|
|
3155
3155
|
this.program = e, this.aPositionBuffer = a;
|
|
3156
3156
|
}
|
|
3157
3157
|
this.handleParticleSetup();
|
|
@@ -3165,11 +3165,11 @@ const oa = {
|
|
|
3165
3165
|
];
|
|
3166
3166
|
this.wrapper = this.webgl.bindParticle(
|
|
3167
3167
|
this.particleContext,
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
|
|
3171
|
-
|
|
3172
|
-
|
|
3168
|
+
ee.vertexSchema,
|
|
3169
|
+
ee.fragmentSchema,
|
|
3170
|
+
ee.quadVertSchema,
|
|
3171
|
+
ee.screenFragmentSchema,
|
|
3172
|
+
ee.updateFragmentSchema
|
|
3173
3173
|
), this.wrapper.color = this.webgl.setup(this.particleContext, t, !0, 16, 16), this.wrapper = { ...this.wrapper, ...this.webgl.setupParticle(this.particleContext, 9e3), ...this.webgl.resize(this.viewport, this.particleContext) }, this.viewport.map.on("resize", this.handleResize), this.viewport.map.on("movestart", this.handlePause), this.viewport.map.on("moveend", this.handlePlay);
|
|
3174
3174
|
}
|
|
3175
3175
|
},
|
|
@@ -3202,10 +3202,10 @@ const oa = {
|
|
|
3202
3202
|
}, sa = { key: 0 };
|
|
3203
3203
|
function na(t, e, a, r, i, o) {
|
|
3204
3204
|
var l;
|
|
3205
|
-
return (l = a.factor) != null && l.active ? (
|
|
3205
|
+
return (l = a.factor) != null && l.active ? (m(), g("div", sa, [
|
|
3206
3206
|
s("div", {
|
|
3207
3207
|
class: "legend-bars flex-center",
|
|
3208
|
-
style:
|
|
3208
|
+
style: V([{ position: "absolute" }, { right: i.right + "px", bottom: a.bottom }])
|
|
3209
3209
|
}, e[0] || (e[0] = [
|
|
3210
3210
|
s("span", null, "kts", -1),
|
|
3211
3211
|
s("span", null, "0", -1),
|
|
@@ -3216,9 +3216,9 @@ function na(t, e, a, r, i, o) {
|
|
|
3216
3216
|
s("span", null, "40", -1),
|
|
3217
3217
|
s("span", null, "60", -1)
|
|
3218
3218
|
]), 4)
|
|
3219
|
-
])) :
|
|
3219
|
+
])) : j("", !0);
|
|
3220
3220
|
}
|
|
3221
|
-
const la = /* @__PURE__ */
|
|
3221
|
+
const la = /* @__PURE__ */ S(oa, [["render", na], ["__scopeId", "data-v-14070127"]]);
|
|
3222
3222
|
const ca = {
|
|
3223
3223
|
name: "IdmCurrent",
|
|
3224
3224
|
props: {
|
|
@@ -3260,7 +3260,7 @@ const ca = {
|
|
|
3260
3260
|
directionLayer: "current-direction-layer",
|
|
3261
3261
|
speedLayer: "current-speed-layer",
|
|
3262
3262
|
speedLabelLayer: "current-speed-label-layer",
|
|
3263
|
-
empty:
|
|
3263
|
+
empty: k.featureCollection([]),
|
|
3264
3264
|
right: 10,
|
|
3265
3265
|
bottom: 95
|
|
3266
3266
|
};
|
|
@@ -3372,7 +3372,7 @@ const ca = {
|
|
|
3372
3372
|
function ha(t, e, a, r, i, o) {
|
|
3373
3373
|
return null;
|
|
3374
3374
|
}
|
|
3375
|
-
const da = /* @__PURE__ */
|
|
3375
|
+
const da = /* @__PURE__ */ S(ca, [["render", ha]]);
|
|
3376
3376
|
const pa = {
|
|
3377
3377
|
name: "IdmCurrentParticle",
|
|
3378
3378
|
props: {
|
|
@@ -3380,7 +3380,7 @@ const pa = {
|
|
|
3380
3380
|
type: Object
|
|
3381
3381
|
},
|
|
3382
3382
|
viewport: {
|
|
3383
|
-
type:
|
|
3383
|
+
type: Je
|
|
3384
3384
|
},
|
|
3385
3385
|
bottom: {
|
|
3386
3386
|
type: String,
|
|
@@ -3397,7 +3397,7 @@ const pa = {
|
|
|
3397
3397
|
texture: void 0,
|
|
3398
3398
|
rampColor: void 0,
|
|
3399
3399
|
aPositionBuffer: void 0,
|
|
3400
|
-
webgl: new
|
|
3400
|
+
webgl: new Ce(),
|
|
3401
3401
|
etime: void 0,
|
|
3402
3402
|
wrapper: void 0,
|
|
3403
3403
|
animation: void 0,
|
|
@@ -3479,7 +3479,7 @@ const pa = {
|
|
|
3479
3479
|
[1, "rgb(195,194,194)"]
|
|
3480
3480
|
];
|
|
3481
3481
|
this.rampColor = this.webgl.setup(this.context, t);
|
|
3482
|
-
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context,
|
|
3482
|
+
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context, Z.vertexSchema, Z.uvFragmentSchema);
|
|
3483
3483
|
this.program = e, this.aPositionBuffer = a;
|
|
3484
3484
|
}
|
|
3485
3485
|
this.handleParticleSetup();
|
|
@@ -3494,11 +3494,11 @@ const pa = {
|
|
|
3494
3494
|
];
|
|
3495
3495
|
this.wrapper = this.webgl.bindParticle(
|
|
3496
3496
|
this.particleContext,
|
|
3497
|
-
|
|
3498
|
-
|
|
3499
|
-
|
|
3500
|
-
|
|
3501
|
-
|
|
3497
|
+
ee.vertexSchema,
|
|
3498
|
+
ee.fragmentSchema,
|
|
3499
|
+
ee.quadVertSchema,
|
|
3500
|
+
ee.screenFragmentSchema,
|
|
3501
|
+
ee.updateFragmentSchema
|
|
3502
3502
|
), this.wrapper.color = this.webgl.setup(this.particleContext, t, !0, 16, 16), this.wrapper = {
|
|
3503
3503
|
...this.wrapper,
|
|
3504
3504
|
...this.webgl.setupParticle(this.particleContext, 9e3),
|
|
@@ -3535,10 +3535,10 @@ const pa = {
|
|
|
3535
3535
|
}, ua = { key: 0 };
|
|
3536
3536
|
function ma(t, e, a, r, i, o) {
|
|
3537
3537
|
var l;
|
|
3538
|
-
return (l = a.factor) != null && l.active ? (
|
|
3538
|
+
return (l = a.factor) != null && l.active ? (m(), g("div", ua, [
|
|
3539
3539
|
s("div", {
|
|
3540
3540
|
class: "legend-bars flex-center",
|
|
3541
|
-
style:
|
|
3541
|
+
style: V([{ position: "absolute" }, { right: i.right + "px", bottom: a.bottom }])
|
|
3542
3542
|
}, e[0] || (e[0] = [
|
|
3543
3543
|
s("span", null, "kts", -1),
|
|
3544
3544
|
s("span", null, "0", -1),
|
|
@@ -3548,9 +3548,9 @@ function ma(t, e, a, r, i, o) {
|
|
|
3548
3548
|
s("span", null, "2", -1),
|
|
3549
3549
|
s("span", null, "3.2", -1)
|
|
3550
3550
|
]), 4)
|
|
3551
|
-
])) :
|
|
3551
|
+
])) : j("", !0);
|
|
3552
3552
|
}
|
|
3553
|
-
const ga = /* @__PURE__ */
|
|
3553
|
+
const ga = /* @__PURE__ */ S(pa, [["render", ma], ["__scopeId", "data-v-02a8206f"]]), Aa = {
|
|
3554
3554
|
name: "IdmSigWave",
|
|
3555
3555
|
props: {
|
|
3556
3556
|
map: {
|
|
@@ -3571,7 +3571,7 @@ const ga = /* @__PURE__ */ T(pa, [["render", ma], ["__scopeId", "data-v-02a8206f
|
|
|
3571
3571
|
source: "sig-wave-source",
|
|
3572
3572
|
heightLayer: "sig-wave-height-layer",
|
|
3573
3573
|
heightLabelLayer: "sig-wave-height-label-layer",
|
|
3574
|
-
empty:
|
|
3574
|
+
empty: k.featureCollection([])
|
|
3575
3575
|
};
|
|
3576
3576
|
},
|
|
3577
3577
|
watch: {
|
|
@@ -3669,9 +3669,9 @@ const ga = /* @__PURE__ */ T(pa, [["render", ma], ["__scopeId", "data-v-02a8206f
|
|
|
3669
3669
|
}
|
|
3670
3670
|
};
|
|
3671
3671
|
function fa(t, e, a, r, i, o) {
|
|
3672
|
-
return
|
|
3672
|
+
return m(), g("div");
|
|
3673
3673
|
}
|
|
3674
|
-
const ya = /* @__PURE__ */
|
|
3674
|
+
const ya = /* @__PURE__ */ S(Aa, [["render", fa]]), wa = {
|
|
3675
3675
|
name: "IdmSwell",
|
|
3676
3676
|
props: {
|
|
3677
3677
|
map: {
|
|
@@ -3693,7 +3693,7 @@ const ya = /* @__PURE__ */ T(Aa, [["render", fa]]), wa = {
|
|
|
3693
3693
|
directionLayer: "swell-direction-layer",
|
|
3694
3694
|
heightLayer: "swell-height-layer",
|
|
3695
3695
|
heightLabelLayer: "swell-height-label-layer",
|
|
3696
|
-
empty:
|
|
3696
|
+
empty: k.featureCollection([])
|
|
3697
3697
|
};
|
|
3698
3698
|
},
|
|
3699
3699
|
watch: {
|
|
@@ -3827,9 +3827,9 @@ const ya = /* @__PURE__ */ T(Aa, [["render", fa]]), wa = {
|
|
|
3827
3827
|
}
|
|
3828
3828
|
};
|
|
3829
3829
|
function ba(t, e, a, r, i, o) {
|
|
3830
|
-
return
|
|
3830
|
+
return m(), g("div");
|
|
3831
3831
|
}
|
|
3832
|
-
const va = /* @__PURE__ */
|
|
3832
|
+
const va = /* @__PURE__ */ S(wa, [["render", ba]]), La = {
|
|
3833
3833
|
name: "IdmPrmsl",
|
|
3834
3834
|
props: {
|
|
3835
3835
|
map: {
|
|
@@ -3854,7 +3854,7 @@ const va = /* @__PURE__ */ T(wa, [["render", ba]]), La = {
|
|
|
3854
3854
|
layer: "prmsl-layer",
|
|
3855
3855
|
labelLayer: "prmsl-label-layer",
|
|
3856
3856
|
pointLabelLayer: "prmsl-point-label-layer",
|
|
3857
|
-
empty:
|
|
3857
|
+
empty: k.featureCollection([])
|
|
3858
3858
|
};
|
|
3859
3859
|
},
|
|
3860
3860
|
watch: {
|
|
@@ -3966,9 +3966,9 @@ const va = /* @__PURE__ */ T(wa, [["render", ba]]), La = {
|
|
|
3966
3966
|
}
|
|
3967
3967
|
};
|
|
3968
3968
|
function Ca(t, e, a, r, i, o) {
|
|
3969
|
-
return
|
|
3969
|
+
return m(), g("div");
|
|
3970
3970
|
}
|
|
3971
|
-
const xa = /* @__PURE__ */
|
|
3971
|
+
const xa = /* @__PURE__ */ S(La, [["render", Ca]]);
|
|
3972
3972
|
const Ba = {
|
|
3973
3973
|
name: "IdmCover",
|
|
3974
3974
|
props: {
|
|
@@ -3993,7 +3993,7 @@ const Ba = {
|
|
|
3993
3993
|
texture: void 0,
|
|
3994
3994
|
rampColor: void 0,
|
|
3995
3995
|
aPositionBuffer: void 0,
|
|
3996
|
-
webgl: new
|
|
3996
|
+
webgl: new Ce(),
|
|
3997
3997
|
etime: void 0,
|
|
3998
3998
|
right: 10
|
|
3999
3999
|
};
|
|
@@ -4048,7 +4048,7 @@ const Ba = {
|
|
|
4048
4048
|
// 100%
|
|
4049
4049
|
];
|
|
4050
4050
|
this.rampColor = this.webgl.setup(this.context, t);
|
|
4051
|
-
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context,
|
|
4051
|
+
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context, Z.vertexSchema, Z.fragmentSchema);
|
|
4052
4052
|
this.program = e, this.aPositionBuffer = a;
|
|
4053
4053
|
}
|
|
4054
4054
|
},
|
|
@@ -4064,10 +4064,10 @@ const Ba = {
|
|
|
4064
4064
|
}, Ia = { key: 0 };
|
|
4065
4065
|
function Ea(t, e, a, r, i, o) {
|
|
4066
4066
|
var l;
|
|
4067
|
-
return (l = a.factor) != null && l.active ? (
|
|
4067
|
+
return (l = a.factor) != null && l.active ? (m(), g("div", Ia, [
|
|
4068
4068
|
s("div", {
|
|
4069
4069
|
class: "legend-bars flex-center",
|
|
4070
|
-
style:
|
|
4070
|
+
style: V([{ position: "absolute" }, { right: i.right + "px", bottom: a.bottom }])
|
|
4071
4071
|
}, e[0] || (e[0] = [
|
|
4072
4072
|
s("span", null, "%", -1),
|
|
4073
4073
|
s("span", null, "20", -1),
|
|
@@ -4076,9 +4076,9 @@ function Ea(t, e, a, r, i, o) {
|
|
|
4076
4076
|
s("span", null, "80", -1),
|
|
4077
4077
|
s("span", null, "100", -1)
|
|
4078
4078
|
]), 4)
|
|
4079
|
-
])) :
|
|
4079
|
+
])) : j("", !0);
|
|
4080
4080
|
}
|
|
4081
|
-
const Da = /* @__PURE__ */
|
|
4081
|
+
const Da = /* @__PURE__ */ S(Ba, [["render", Ea], ["__scopeId", "data-v-efce05ef"]]);
|
|
4082
4082
|
const Pa = {
|
|
4083
4083
|
name: "IdmThickness",
|
|
4084
4084
|
props: {
|
|
@@ -4103,7 +4103,7 @@ const Pa = {
|
|
|
4103
4103
|
texture: void 0,
|
|
4104
4104
|
rampColor: void 0,
|
|
4105
4105
|
aPositionBuffer: void 0,
|
|
4106
|
-
webgl: new
|
|
4106
|
+
webgl: new Ce(),
|
|
4107
4107
|
etime: void 0,
|
|
4108
4108
|
right: 10
|
|
4109
4109
|
};
|
|
@@ -4166,7 +4166,7 @@ const Pa = {
|
|
|
4166
4166
|
// 4m
|
|
4167
4167
|
];
|
|
4168
4168
|
this.rampColor = this.webgl.setup(this.context, t);
|
|
4169
|
-
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context,
|
|
4169
|
+
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context, Z.vertexSchema, Z.fragmentSchema);
|
|
4170
4170
|
this.program = e, this.aPositionBuffer = a;
|
|
4171
4171
|
}
|
|
4172
4172
|
},
|
|
@@ -4182,10 +4182,10 @@ const Pa = {
|
|
|
4182
4182
|
}, ka = { key: 0 };
|
|
4183
4183
|
function Ma(t, e, a, r, i, o) {
|
|
4184
4184
|
var l;
|
|
4185
|
-
return (l = a.factor) != null && l.active ? (
|
|
4185
|
+
return (l = a.factor) != null && l.active ? (m(), g("div", ka, [
|
|
4186
4186
|
s("div", {
|
|
4187
4187
|
class: "legend-bars flex-center",
|
|
4188
|
-
style:
|
|
4188
|
+
style: V([{ position: "absolute" }, { right: i.right + "px", bottom: a.bottom }])
|
|
4189
4189
|
}, e[0] || (e[0] = [
|
|
4190
4190
|
s("span", null, "m", -1),
|
|
4191
4191
|
s("span", null, "0", -1),
|
|
@@ -4195,9 +4195,9 @@ function Ma(t, e, a, r, i, o) {
|
|
|
4195
4195
|
s("span", null, "2", -1),
|
|
4196
4196
|
s("span", null, "3", -1)
|
|
4197
4197
|
]), 4)
|
|
4198
|
-
])) :
|
|
4198
|
+
])) : j("", !0);
|
|
4199
4199
|
}
|
|
4200
|
-
const za = /* @__PURE__ */
|
|
4200
|
+
const za = /* @__PURE__ */ S(Pa, [["render", Ma], ["__scopeId", "data-v-348d48fb"]]);
|
|
4201
4201
|
const Ta = {
|
|
4202
4202
|
name: "IdmTropicals",
|
|
4203
4203
|
props: {
|
|
@@ -4218,7 +4218,7 @@ const Ta = {
|
|
|
4218
4218
|
emits: ["tropical", "tropicalProbability"],
|
|
4219
4219
|
data() {
|
|
4220
4220
|
return {
|
|
4221
|
-
helper:
|
|
4221
|
+
helper: Xe,
|
|
4222
4222
|
source: "tropicals-source",
|
|
4223
4223
|
clusterSource: "tropicals-cluster-source",
|
|
4224
4224
|
historyLayer: "tropicals-history-layer",
|
|
@@ -4236,9 +4236,9 @@ const Ta = {
|
|
|
4236
4236
|
showTropicals: !1,
|
|
4237
4237
|
activeTropicals: void 0,
|
|
4238
4238
|
activeTropicalsMarker: void 0,
|
|
4239
|
-
empty:
|
|
4239
|
+
empty: k.featureCollection([]),
|
|
4240
4240
|
circleSource: "circle-source",
|
|
4241
|
-
circleSourceData:
|
|
4241
|
+
circleSourceData: k.featureCollection([]),
|
|
4242
4242
|
circleLayer: "tropical-circle-layer"
|
|
4243
4243
|
};
|
|
4244
4244
|
},
|
|
@@ -4246,7 +4246,7 @@ const Ta = {
|
|
|
4246
4246
|
computeTime() {
|
|
4247
4247
|
return function(t) {
|
|
4248
4248
|
if (t) {
|
|
4249
|
-
const e =
|
|
4249
|
+
const e = U(t).utc().utcOffset(this.timeZone), a = this.timeZone < 0 ? this.timeZone : "+" + this.timeZone;
|
|
4250
4250
|
return `${e.format("MMM-DD,HHmm")}[ UTC ${a} ] ( ${e == null ? void 0 : e.fromNow()} )`;
|
|
4251
4251
|
}
|
|
4252
4252
|
return "-";
|
|
@@ -4283,29 +4283,29 @@ const Ta = {
|
|
|
4283
4283
|
methods: {
|
|
4284
4284
|
handleRefresh() {
|
|
4285
4285
|
var r, i;
|
|
4286
|
-
const t = ((i = (r = this.tropicals) == null ? void 0 : r.data) == null ? void 0 : i.features) || [], e =
|
|
4286
|
+
const t = ((i = (r = this.tropicals) == null ? void 0 : r.data) == null ? void 0 : i.features) || [], e = U().utc().hour(), a = [];
|
|
4287
4287
|
t.forEach((o) => {
|
|
4288
4288
|
var l, c, h;
|
|
4289
4289
|
(l = o.properties) != null && l.name && !a.includes((c = o.properties) == null ? void 0 : c.name) && a.push((h = o.properties) == null ? void 0 : h.name);
|
|
4290
4290
|
}), a.forEach((o) => {
|
|
4291
|
-
var
|
|
4291
|
+
var p;
|
|
4292
4292
|
let l = 0, c;
|
|
4293
4293
|
const h = t.filter((n) => {
|
|
4294
4294
|
var d, w;
|
|
4295
4295
|
return ((w = (d = n.properties) == null ? void 0 : d.category) == null ? void 0 : w.split("-")[0]) === o;
|
|
4296
4296
|
});
|
|
4297
|
-
(
|
|
4297
|
+
(p = h.filter((n) => {
|
|
4298
4298
|
var d, w;
|
|
4299
4299
|
return ((d = n.geometry) == null ? void 0 : d.type) === "LineString" && ((w = n.properties) == null ? void 0 : w.type) === "forecast";
|
|
4300
|
-
})[0]) == null ||
|
|
4301
|
-
var w, b,
|
|
4302
|
-
((w = n.geometry) == null ? void 0 : w.type) === "Point" && ((b = n.properties) == null ? void 0 : b.type) === "history" && (l = d, c = c === void 0 ? d : c), ((
|
|
4300
|
+
})[0]) == null || p.properties.model, h.forEach((n, d) => {
|
|
4301
|
+
var w, b, A, E, v, f;
|
|
4302
|
+
((w = n.geometry) == null ? void 0 : w.type) === "Point" && ((b = n.properties) == null ? void 0 : b.type) === "history" && (l = d, c = c === void 0 ? d : c), ((A = n.geometry) == null ? void 0 : A.type) === "Point" && ((E = n.properties) == null ? void 0 : E.type) === "forecast" && c === void 0 && (c = d), ((v = n.geometry) == null ? void 0 : v.type) === "LineString" && ((f = n.properties) == null || f.type);
|
|
4303
4303
|
}), h.map((n, d) => {
|
|
4304
|
-
var w, b,
|
|
4305
|
-
if (((w = n.geometry) == null ? void 0 : w.type) === "LineString" && ((b = n.properties) == null || b.type), ((
|
|
4306
|
-
n.properties.format =
|
|
4307
|
-
const
|
|
4308
|
-
n.properties.showHistoryLabel =
|
|
4304
|
+
var w, b, A, E, v, f, u;
|
|
4305
|
+
if (((w = n.geometry) == null ? void 0 : w.type) === "LineString" && ((b = n.properties) == null || b.type), ((A = n.geometry) == null ? void 0 : A.type) === "Point" && ((E = n.properties) == null ? void 0 : E.type) === "forecast" && (n.properties.name = o, n.properties.format = U(n.properties.date).utcOffset(this.timeZone).format(`MMM-DD,HHmm [(utc ${this.computeTimezone})]`)), ((v = n.geometry) == null ? void 0 : v.type) === "Point" && ((f = n.properties) == null ? void 0 : f.type) === "history") {
|
|
4306
|
+
n.properties.format = U(n.properties.date).utcOffset(this.timeZone).format(`MMM-DD,HHmm [(utc ${this.computeTimezone})]`);
|
|
4307
|
+
const C = U((u = n.properties) == null ? void 0 : u.date).utc().format("HHmm") === U().utc().hour(Math.floor(e / 6) * 6).minute("00").format("HHmm");
|
|
4308
|
+
n.properties.showHistoryLabel = C || d === l, n.properties.showNameLabel = d === l, n.properties.name = o;
|
|
4309
4309
|
}
|
|
4310
4310
|
return n;
|
|
4311
4311
|
});
|
|
@@ -4342,7 +4342,7 @@ const Ta = {
|
|
|
4342
4342
|
));
|
|
4343
4343
|
},
|
|
4344
4344
|
handleRender() {
|
|
4345
|
-
var t, e, a, r, i, o, l, c, h,
|
|
4345
|
+
var t, e, a, r, i, o, l, c, h, p;
|
|
4346
4346
|
if (!this.map)
|
|
4347
4347
|
setTimeout(() => {
|
|
4348
4348
|
this.handleRender();
|
|
@@ -4450,7 +4450,7 @@ const Ta = {
|
|
|
4450
4450
|
}
|
|
4451
4451
|
}), b = (/* @__PURE__ */ new Date()).valueOf() - (d + w), console.log("[tropical] add elapsed: ", b, ", total: ", w += b)), (o = this.map) != null && o.getSource(this.clusterSource) ? ((c = this.map) == null || c.getSource(this.clusterSource).setData((l = this.tropicals) != null && l.active ? this.tropicals.data : this.empty), b = (/* @__PURE__ */ new Date()).valueOf() - (d + w), console.log("[tropical] update elapsed: ", b, ", total: ", w += b)) : (this.map.addSource(this.clusterSource, {
|
|
4452
4452
|
type: "geojson",
|
|
4453
|
-
data: (h = this.tropicals) != null && h.active ? (
|
|
4453
|
+
data: (h = this.tropicals) != null && h.active ? (p = this.tropicals) == null ? void 0 : p.data : this.empty
|
|
4454
4454
|
// cluster: true,
|
|
4455
4455
|
// clusterRadius: 10, // 聚合半径
|
|
4456
4456
|
}), this.map.addLayer({
|
|
@@ -4577,11 +4577,11 @@ const Ta = {
|
|
|
4577
4577
|
this.map && (this.map.getLayer(this.historyLayer) && this.map.removeLayer(this.historyLayer), this.map.getLayer(this.forecastLayer) && this.map.removeLayer(this.forecastLayer), this.map.getLayer(this.forecastModelLayer) && this.map.removeLayer(this.forecastModelLayer), this.map.getLayer(this.forecastNameLayer) && this.map.removeLayer(this.forecastNameLayer), this.map.getLayer(this.pointCircleLayer) && this.map.removeLayer(this.pointCircleLayer), this.map.getLayer(this.pointCircleLayer + "-border") && this.map.removeLayer(this.pointCircleLayer + "-border"), this.map.getLayer(this.pointLabelLayer) && this.map.removeLayer(this.pointLabelLayer), this.map.getLayer(this.historyPointCircleLayer) && this.map.removeLayer(this.historyPointCircleLayer), this.map.getLayer(this.historyPointCircleLayer + "-border") && this.map.removeLayer(this.historyPointCircleLayer + "-border"), this.map.getLayer(this.historyPointCircleLayer + "-inner") && this.map.removeLayer(this.historyPointCircleLayer + "-inner"), this.map.getLayer(this.historyPointLabelLayer) && this.map.removeLayer(this.historyPointLabelLayer), this.map.getLayer(this.interpolateLineLayer) && this.map.removeLayer(this.interpolateLineLayer), (t = this.interpolateMarkers) == null || t.forEach((e) => e == null ? void 0 : e.remove()), this.map.getSource(this.source) && this.map.removeSource(this.source), this.map.getSource(this.clusterSource) && this.map.removeSource(this.clusterSource), this.map.getSource(this.interpolateSource) && this.map.removeSource(this.interpolateSource), this.map.getLayer(this.circleLayer) && this.map.removeLayer(this.circleLayer), this.map.getSource(this.circleSource) && this.map.removeSource(this.circleSource));
|
|
4578
4578
|
},
|
|
4579
4579
|
handleDateChange() {
|
|
4580
|
-
var t, e, a, r, i, o, l, c, h,
|
|
4580
|
+
var t, e, a, r, i, o, l, c, h, p, n, d, w, b, A, E, v, f, u, C, y, B, D, T, N, O, Q, Y, K, ce, he, de, pe, ue, me, ge;
|
|
4581
4581
|
if ((t = this.interpolateMarkers) == null || t.forEach((te) => te == null ? void 0 : te.remove()), this.circleSourceData.features = [], (e = this.interpolateData) != null && e.length && this.tropicals.active) {
|
|
4582
|
-
const te =
|
|
4583
|
-
|
|
4584
|
-
ie.features.push(
|
|
4582
|
+
const te = U(this.date).utc().set({ minute: 0, second: 0, millisecond: 0 }), oe = this.interpolateData.filter((_) => _.properties.date === te.format() && !_.properties.disabled), Ae = this.handleComputePolygons(oe), ie = k.featureCollection([...oe]);
|
|
4583
|
+
Ae.forEach((_) => {
|
|
4584
|
+
ie.features.push(_);
|
|
4585
4585
|
}), (a = this.map) != null && a.getSource(this.interpolateSource) ? (r = this.map) == null || r.getSource(this.interpolateSource).setData(ie) : ((i = this.map) == null || i.addSource(this.interpolateSource, {
|
|
4586
4586
|
type: "geojson",
|
|
4587
4587
|
data: ie
|
|
@@ -4596,17 +4596,17 @@ const Ta = {
|
|
|
4596
4596
|
"line-width": 1
|
|
4597
4597
|
}
|
|
4598
4598
|
})), this.interpolateMarkers = [];
|
|
4599
|
-
for (const
|
|
4600
|
-
if (!
|
|
4601
|
-
let
|
|
4602
|
-
((c = (l =
|
|
4603
|
-
const
|
|
4599
|
+
for (const _ of oe)
|
|
4600
|
+
if (!_.properties.disabled) {
|
|
4601
|
+
let $ = "#f44336";
|
|
4602
|
+
((c = (l = _.properties) == null ? void 0 : l.wind) == null ? void 0 : c.spd) < 17.2 || !((p = (h = _.properties) == null ? void 0 : h.wind) != null && p.spd) ? $ = "#03f869" : ((d = (n = _.properties) == null ? void 0 : n.wind) == null ? void 0 : d.spd) >= 17.2 && ((b = (w = _.properties) == null ? void 0 : w.wind) == null ? void 0 : b.spd) < 24.5 ? $ = "#f2f202" : ((E = (A = _.properties) == null ? void 0 : A.wind) == null ? void 0 : E.spd) >= 24.5 && ((f = (v = _.properties) == null ? void 0 : v.wind) == null ? void 0 : f.spd) < 32.7 ? $ = "#ff9100" : ((C = (u = _.properties) == null ? void 0 : u.wind) == null ? void 0 : C.spd) >= 32.7 && ((B = (y = _.properties) == null ? void 0 : y.wind) == null ? void 0 : B.spd) < 41.5 ? $ = "#f44336" : ((T = (D = _.properties) == null ? void 0 : D.wind) == null ? void 0 : T.spd) >= 41.5 && ((O = (N = _.properties) == null ? void 0 : N.wind) == null ? void 0 : O.spd) < 51 ? $ = "#f903d0" : ((Y = (Q = _.properties) == null ? void 0 : Q.wind) == null ? void 0 : Y.spd) >= 51 ? $ = "#8702f9" : $ = "#f44336";
|
|
4603
|
+
const fe = `<svg t="1719918955501"
|
|
4604
4604
|
class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" p-id="18382"
|
|
4605
4605
|
xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
|
|
4606
4606
|
<path
|
|
4607
4607
|
d="M515.17000001 169.34666667c41-77.73 95.33-96 95.33-96-240 0-434.5 194.53-434.5 434.5 0 186.47 150.78 337.7 337.06 338.48C472.11000001 923.66666667 418.00000001 941.83666667 418.00000001 941.83666667c240 0 434.5-194.54 434.5-434.5l0.5 0.5C853.00000001 321.10666667 701.81000001 169.66666667 515.17000001 169.34666667z m-0.67 468A129.5 129.5 0 1 1 644.00000001 507.83666667a129.5 129.5 0 0 1-129.5 129.5z"
|
|
4608
|
-
fill="${
|
|
4609
|
-
<path d="M514.50000001 507.83666667m-129.5 0a129.5 129.5 0 1 0 259 0 129.5 129.5 0 1 0-259 0Z" fill="${
|
|
4608
|
+
fill="${$}" p-id="18383"></path>
|
|
4609
|
+
<path d="M514.50000001 507.83666667m-129.5 0a129.5 129.5 0 1 0 259 0 129.5 129.5 0 1 0-259 0Z" fill="${$}"
|
|
4610
4610
|
p-id="18384"></path>
|
|
4611
4611
|
<path
|
|
4612
4612
|
d="M517.16666667 654.67c-80.23 0-145.5-65.27-145.5-145.5s65.27-145.5 145.5-145.5S662.66666667 428.94 662.66666667 509.17s-65.27 145.5-145.5 145.5z m0-259A113.5 113.5 0 1 0 630.66666667 509.17a113.63 113.63 0 0 0-113.5-113.5z"
|
|
@@ -4615,16 +4615,16 @@ const Ta = {
|
|
|
4615
4615
|
d="M420.66666667 959.17a16.08 16.08 0 0 1-15.91-13.49A15.89 15.89 0 0 1 415.50666667 928c1.49-0.55 38.88-14.76 72.79-65.52A354.55 354.55 0 0 1 162.66666667 509.17a450.14 450.14 0 0 1 450.5-450.5 16.07 16.07 0 0 1 15.91 13.48 15.88 15.88 0 0 1-10.75 17.66c-1.58 0.58-39.13 14.9-73.07 65.95A354.22 354.22 0 0 1 871.66666667 509.17a16 16 0 0 1-0.52 4.05A450.14 450.14 0 0 1 420.66666667 959.17zM554.80666667 94.72C351.57666667 123.2 194.66666667 298.21 194.66666667 509.17c0 177.08 144.06 321.74 321.13 322.48a16 16 0 0 1 14.07 23.49c-16.11 30.42-34.27 52.37-50.85 68C682.25666667 894.63 839.16666667 719.63 839.16666667 508.67a15.94 15.94 0 0 1 0.47-3.86C837.30666667 329.33 693.82666667 187 517.80666667 186.67A16 16 0 0 1 503.66666667 163.21c16.21-30.69 34.47-52.79 51.14-68.49z"
|
|
4616
4616
|
fill="#ffffff" p-id="18386"></path>
|
|
4617
4617
|
</svg>`, re = document.createElement("div");
|
|
4618
|
-
re.className = "hurricane-hourly-marker", re.innerHTML = `<div class="${
|
|
4619
|
-
const se = new ve.Marker(re).setLngLat(
|
|
4620
|
-
if (this.interpolateMarkers.push(se), (
|
|
4621
|
-
const ne = { radius: 100, coordinates:
|
|
4618
|
+
re.className = "hurricane-hourly-marker", re.innerHTML = `<div class="${_.geometry.coordinates[1] >= 0 ? "center north" : "center south"}">${fe}</div>`;
|
|
4619
|
+
const se = new ve.Marker(re).setLngLat(_.geometry.coordinates).addTo(this.map);
|
|
4620
|
+
if (this.interpolateMarkers.push(se), (K = _.properties) != null && K.showCircle) {
|
|
4621
|
+
const ne = { radius: 100, coordinates: _.geometry.coordinates }, x = { radius: 200, coordinates: _.geometry.coordinates }, Le = { radius: 500, coordinates: _.geometry.coordinates };
|
|
4622
4622
|
(ce = this.circleSourceData) == null || ce.features.push(
|
|
4623
|
-
|
|
4623
|
+
k.circle(ne.coordinates, ne.radius, { steps: 100, units: "kilometers", properties: { type: "tropicalCircle" } })
|
|
4624
4624
|
), (he = this.circleSourceData) == null || he.features.push(
|
|
4625
|
-
|
|
4625
|
+
k.circle(x.coordinates, x.radius, { steps: 100, units: "kilometers", properties: { type: "tropicalCircle" } })
|
|
4626
4626
|
), (de = this.circleSourceData) == null || de.features.push(
|
|
4627
|
-
|
|
4627
|
+
k.circle(Le.coordinates, Le.radius, { steps: 100, units: "kilometers", properties: { type: "tropicalCircle" } })
|
|
4628
4628
|
);
|
|
4629
4629
|
}
|
|
4630
4630
|
(ue = (pe = this.map) == null ? void 0 : pe.getSource(this.circleSource)) == null || ue.setData(this.circleSourceData);
|
|
@@ -4633,25 +4633,25 @@ const Ta = {
|
|
|
4633
4633
|
(me = this.map) != null && me.getSource(this.interpolateSource) && ((ge = this.map) == null || ge.getSource(this.interpolateSource).setData(this.empty));
|
|
4634
4634
|
},
|
|
4635
4635
|
handleClick(t) {
|
|
4636
|
-
var o, l, c, h,
|
|
4636
|
+
var o, l, c, h, p, n, d, w;
|
|
4637
4637
|
const e = t.features[0], a = (l = (o = this.tropicals) == null ? void 0 : o.data) == null ? void 0 : l.features.filter(
|
|
4638
4638
|
(b) => {
|
|
4639
|
-
var
|
|
4640
|
-
return b.geometry.type === "LineString" && b.properties.type === "forecast" && b.properties.name === ((
|
|
4639
|
+
var A;
|
|
4640
|
+
return b.geometry.type === "LineString" && b.properties.type === "forecast" && b.properties.name === ((A = e == null ? void 0 : e.properties) == null ? void 0 : A.name);
|
|
4641
4641
|
}
|
|
4642
4642
|
);
|
|
4643
|
-
a.sort((b,
|
|
4644
|
-
var
|
|
4645
|
-
return ((
|
|
4643
|
+
a.sort((b, A) => {
|
|
4644
|
+
var E, v, f, u;
|
|
4645
|
+
return ((E = b.properties) == null ? void 0 : E.model) === "cma" ? -1 : ((v = b.properties) == null ? void 0 : v.model) === "jma" ? ((f = A.properties) == null ? void 0 : f.model) === "cma" ? 1 : -1 : b.properties.model === "ecmwf" ? ["jma", "cma"].includes((u = A.properties) == null ? void 0 : u.model) ? 1 : -1 : 0;
|
|
4646
4646
|
});
|
|
4647
4647
|
const r = (h = (c = this.tropicals) == null ? void 0 : c.data) == null ? void 0 : h.features.filter(
|
|
4648
4648
|
(b) => {
|
|
4649
|
-
var
|
|
4650
|
-
return b.geometry.type === "LineString" && b.properties.type === "history" && b.properties.name === ((
|
|
4649
|
+
var A;
|
|
4650
|
+
return b.geometry.type === "LineString" && b.properties.type === "history" && b.properties.name === ((A = e == null ? void 0 : e.properties) == null ? void 0 : A.name);
|
|
4651
4651
|
}
|
|
4652
4652
|
);
|
|
4653
4653
|
this.activeTropicals = {
|
|
4654
|
-
name: (
|
|
4654
|
+
name: (p = e == null ? void 0 : e.properties) == null ? void 0 : p.name,
|
|
4655
4655
|
forecasts: a.map((b) => b.properties),
|
|
4656
4656
|
history: (n = r[0]) == null ? void 0 : n.properties,
|
|
4657
4657
|
showCircle: (w = (d = a[0]) == null ? void 0 : d.properties) == null ? void 0 : w.showCircle
|
|
@@ -4663,11 +4663,11 @@ const Ta = {
|
|
|
4663
4663
|
var r, i, o, l, c, h;
|
|
4664
4664
|
t.disabled = !t.disabled;
|
|
4665
4665
|
const e = `${t.name}-${t.model}`, a = (i = (r = this.map) == null ? void 0 : r.getSource(this.source)._data) == null ? void 0 : i.features;
|
|
4666
|
-
a.forEach((
|
|
4667
|
-
|
|
4668
|
-
}), this.interpolateData.forEach((
|
|
4669
|
-
|
|
4670
|
-
}), (l = (o = this.map) == null ? void 0 : o.getSource(this.source)) == null || l.setData(
|
|
4666
|
+
a.forEach((p) => {
|
|
4667
|
+
p.properties.category === e && (p.properties.disabled = t.disabled);
|
|
4668
|
+
}), this.interpolateData.forEach((p) => {
|
|
4669
|
+
p.properties.category === e && (p.properties.disabled = t.disabled);
|
|
4670
|
+
}), (l = (o = this.map) == null ? void 0 : o.getSource(this.source)) == null || l.setData(k.featureCollection(a)), (h = (c = this.map) == null ? void 0 : c.getSource(this.clusterSource)) == null || h.setData(k.featureCollection(a)), this.handleDateChange();
|
|
4671
4671
|
},
|
|
4672
4672
|
handleStrikeProbability(t) {
|
|
4673
4673
|
this.$emit("tropicalProbability", t);
|
|
@@ -4724,22 +4724,22 @@ const Ta = {
|
|
|
4724
4724
|
let h;
|
|
4725
4725
|
switch (l) {
|
|
4726
4726
|
case "ne":
|
|
4727
|
-
h =
|
|
4727
|
+
h = k.lineArc(t, c * 1.852, 0, 90, { steps: c > 0 ? 64 : 1 });
|
|
4728
4728
|
break;
|
|
4729
4729
|
case "se":
|
|
4730
|
-
h =
|
|
4730
|
+
h = k.lineArc(t, c * 1.852, 90, 180, { steps: c > 0 ? 64 : 1 });
|
|
4731
4731
|
break;
|
|
4732
4732
|
case "sw":
|
|
4733
|
-
h =
|
|
4733
|
+
h = k.lineArc(t, c * 1.852, 180, 270, { steps: c > 0 ? 64 : 1 });
|
|
4734
4734
|
break;
|
|
4735
4735
|
case "nw":
|
|
4736
|
-
h =
|
|
4736
|
+
h = k.lineArc(t, c * 1.852, 270, 360, { steps: c > 0 ? 64 : 1 });
|
|
4737
4737
|
break;
|
|
4738
4738
|
}
|
|
4739
4739
|
r.push(...(o = h == null ? void 0 : h.geometry) == null ? void 0 : o.coordinates);
|
|
4740
4740
|
}
|
|
4741
|
-
const i =
|
|
4742
|
-
return
|
|
4741
|
+
const i = k.lineString(r);
|
|
4742
|
+
return k.lineToPolygon(i, { properties: a });
|
|
4743
4743
|
}
|
|
4744
4744
|
}
|
|
4745
4745
|
}, Qa = {
|
|
@@ -4759,49 +4759,49 @@ const Ta = {
|
|
|
4759
4759
|
style: { "justify-content": "flex-start" }
|
|
4760
4760
|
}, Ya = { class: "forecast-models" }, Ka = ["onClick"], Xa = { class: "more" };
|
|
4761
4761
|
function Ja(t, e, a, r, i, o) {
|
|
4762
|
-
var l, c, h,
|
|
4763
|
-
return
|
|
4762
|
+
var l, c, h, p, n, d, w, b, A, E, v, f, u, C, y;
|
|
4763
|
+
return ye((m(), g("div", Qa, [
|
|
4764
4764
|
s("div", Sa, [
|
|
4765
4765
|
s("div", {
|
|
4766
4766
|
class: "iconfont close-btn",
|
|
4767
|
-
onClick: e[0] || (e[0] = (
|
|
4767
|
+
onClick: e[0] || (e[0] = (B) => i.showTropicals = !1)
|
|
4768
4768
|
}, ""),
|
|
4769
4769
|
s("div", _a, [
|
|
4770
|
-
(c = (l = i.activeTropicals) == null ? void 0 : l.history) != null && c.level ? (
|
|
4771
|
-
|
|
4770
|
+
(c = (l = i.activeTropicals) == null ? void 0 : l.history) != null && c.level ? (m(), g("span", Ha, I((p = (h = i.activeTropicals) == null ? void 0 : h.history) == null ? void 0 : p.level) + " , ", 1)) : j("", !0),
|
|
4771
|
+
q(I((n = i.activeTropicals) == null ? void 0 : n.name), 1)
|
|
4772
4772
|
]),
|
|
4773
|
-
s("div", Oa, " Last update: " + I(o.computeTime(((w = (d = i.activeTropicals) == null ? void 0 : d.history) == null ? void 0 : w.updated) || ((
|
|
4773
|
+
s("div", Oa, " Last update: " + I(o.computeTime(((w = (d = i.activeTropicals) == null ? void 0 : d.history) == null ? void 0 : w.updated) || ((E = (A = (b = i.activeTropicals) == null ? void 0 : b.forecasts) == null ? void 0 : A.filter((B) => !B.disabled)[0]) == null ? void 0 : E.date))), 1)
|
|
4774
4774
|
]),
|
|
4775
4775
|
s("div", Na, [
|
|
4776
4776
|
s("div", ja, [
|
|
4777
4777
|
s("div", Ra, [
|
|
4778
4778
|
s("div", Fa, [
|
|
4779
4779
|
e[2] || (e[2] = s("label", null, "Wind speed : ", -1)),
|
|
4780
|
-
s("span", null, I(((
|
|
4780
|
+
s("span", null, I(((f = (v = i.activeTropicals) == null ? void 0 : v.history) == null ? void 0 : f.kts) || "-") + "[kts]", 1)
|
|
4781
4781
|
]),
|
|
4782
4782
|
s("div", Ga, [
|
|
4783
4783
|
e[3] || (e[3] = s("label", null, "Pressure : ", -1)),
|
|
4784
|
-
s("span", null, I(((
|
|
4784
|
+
s("span", null, I(((C = (u = i.activeTropicals) == null ? void 0 : u.history) == null ? void 0 : C.pressure) || "-") + "[hPa]", 1)
|
|
4785
4785
|
])
|
|
4786
4786
|
]),
|
|
4787
4787
|
s("div", Wa, [
|
|
4788
4788
|
s("div", Ua, [
|
|
4789
4789
|
e[4] || (e[4] = s("label", { style: { width: "max-content" } }, "Forecast Models : ", -1)),
|
|
4790
4790
|
s("div", Ya, [
|
|
4791
|
-
(
|
|
4792
|
-
var
|
|
4793
|
-
return
|
|
4794
|
-
key:
|
|
4795
|
-
class:
|
|
4791
|
+
(m(!0), g(R, null, G((y = i.activeTropicals) == null ? void 0 : y.forecasts, (B, D) => {
|
|
4792
|
+
var T, N, O, Q;
|
|
4793
|
+
return m(), g("div", {
|
|
4794
|
+
key: D,
|
|
4795
|
+
class: F([
|
|
4796
4796
|
"model",
|
|
4797
|
-
|
|
4798
|
-
|
|
4797
|
+
B.disabled ? "" : "active",
|
|
4798
|
+
D > 0 && D < ((N = (T = i.activeTropicals) == null ? void 0 : T.forecasts) == null ? void 0 : N.length) - 1 && ((Q = (O = i.activeTropicals) == null ? void 0 : O.forecasts) == null ? void 0 : Q.length) > 2 ? "center-child" : ""
|
|
4799
4799
|
]),
|
|
4800
|
-
onClick: (
|
|
4800
|
+
onClick: (Y) => o.handleForecastToggle(B)
|
|
4801
4801
|
}, [
|
|
4802
4802
|
s("span", {
|
|
4803
|
-
class:
|
|
4804
|
-
}, I(
|
|
4803
|
+
class: F(B.model)
|
|
4804
|
+
}, I(B.model), 3)
|
|
4805
4805
|
], 10, Ka);
|
|
4806
4806
|
}), 128))
|
|
4807
4807
|
])
|
|
@@ -4812,15 +4812,15 @@ function Ja(t, e, a, r, i, o) {
|
|
|
4812
4812
|
s("div", Xa, [
|
|
4813
4813
|
s("div", {
|
|
4814
4814
|
class: "button",
|
|
4815
|
-
onClick: e[1] || (e[1] = (
|
|
4815
|
+
onClick: e[1] || (e[1] = (B) => o.handleStrikeProbability(i.activeTropicals))
|
|
4816
4816
|
}, "Strike Probability >>")
|
|
4817
4817
|
])
|
|
4818
4818
|
])
|
|
4819
4819
|
], 512)), [
|
|
4820
|
-
[
|
|
4820
|
+
[we, i.showTropicals && !t.$attrs.hideTropicalsLegend]
|
|
4821
4821
|
]);
|
|
4822
4822
|
}
|
|
4823
|
-
const lt = /* @__PURE__ */
|
|
4823
|
+
const lt = /* @__PURE__ */ S(Ta, [["render", Ja], ["__scopeId", "data-v-44a4e671"]]);
|
|
4824
4824
|
const qa = {
|
|
4825
4825
|
name: "IdmPrecip3h",
|
|
4826
4826
|
props: {
|
|
@@ -4849,7 +4849,7 @@ const qa = {
|
|
|
4849
4849
|
texture: void 0,
|
|
4850
4850
|
rampColor: void 0,
|
|
4851
4851
|
aPositionBuffer: void 0,
|
|
4852
|
-
webgl: new
|
|
4852
|
+
webgl: new Ce(),
|
|
4853
4853
|
etime: void 0,
|
|
4854
4854
|
right: 10
|
|
4855
4855
|
};
|
|
@@ -4909,7 +4909,7 @@ const qa = {
|
|
|
4909
4909
|
[1, "rgba(197,5,58,0.8)"]
|
|
4910
4910
|
];
|
|
4911
4911
|
this.rampColor = this.webgl.setup(this.context, t);
|
|
4912
|
-
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context,
|
|
4912
|
+
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context, Z.vertexSchema, Z.fragmentSchema);
|
|
4913
4913
|
this.program = e, this.aPositionBuffer = a;
|
|
4914
4914
|
}
|
|
4915
4915
|
},
|
|
@@ -4925,10 +4925,10 @@ const qa = {
|
|
|
4925
4925
|
}, Va = { key: 0 };
|
|
4926
4926
|
function Za(t, e, a, r, i, o) {
|
|
4927
4927
|
var l;
|
|
4928
|
-
return (l = a.factor) != null && l.active ? (
|
|
4928
|
+
return (l = a.factor) != null && l.active ? (m(), g("div", Va, [
|
|
4929
4929
|
s("div", {
|
|
4930
4930
|
class: "legend-bars flex-center",
|
|
4931
|
-
style:
|
|
4931
|
+
style: V([{ position: "absolute" }, { right: i.right + "px", bottom: a.bottom }])
|
|
4932
4932
|
}, e[0] || (e[0] = [
|
|
4933
4933
|
s("span", null, "mm", -1),
|
|
4934
4934
|
s("span", null, "1.5", -1),
|
|
@@ -4939,9 +4939,9 @@ function Za(t, e, a, r, i, o) {
|
|
|
4939
4939
|
s("span", null, "20", -1),
|
|
4940
4940
|
s("span", null, "30", -1)
|
|
4941
4941
|
]), 4)
|
|
4942
|
-
])) :
|
|
4942
|
+
])) : j("", !0);
|
|
4943
4943
|
}
|
|
4944
|
-
const $a = /* @__PURE__ */
|
|
4944
|
+
const $a = /* @__PURE__ */ S(qa, [["render", Za], ["__scopeId", "data-v-e83717bd"]]);
|
|
4945
4945
|
const ei = {
|
|
4946
4946
|
name: "IdmVisibility",
|
|
4947
4947
|
props: {
|
|
@@ -4970,7 +4970,7 @@ const ei = {
|
|
|
4970
4970
|
texture: void 0,
|
|
4971
4971
|
rampColor: void 0,
|
|
4972
4972
|
aPositionBuffer: void 0,
|
|
4973
|
-
webgl: new
|
|
4973
|
+
webgl: new Ce(),
|
|
4974
4974
|
etime: void 0
|
|
4975
4975
|
};
|
|
4976
4976
|
},
|
|
@@ -5023,7 +5023,7 @@ const ei = {
|
|
|
5023
5023
|
[1, "rgba(144,144,144,0)"]
|
|
5024
5024
|
];
|
|
5025
5025
|
this.rampColor = this.webgl.setup(this.context, t);
|
|
5026
|
-
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context,
|
|
5026
|
+
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context, Z.vertexSchema, Z.fragmentSchema);
|
|
5027
5027
|
this.program = e, this.aPositionBuffer = a;
|
|
5028
5028
|
}
|
|
5029
5029
|
},
|
|
@@ -5039,10 +5039,10 @@ const ei = {
|
|
|
5039
5039
|
}, ti = { key: 0 };
|
|
5040
5040
|
function ai(t, e, a, r, i, o) {
|
|
5041
5041
|
var l;
|
|
5042
|
-
return (l = a.factor) != null && l.active ? (
|
|
5042
|
+
return (l = a.factor) != null && l.active ? (m(), g("div", ti, [
|
|
5043
5043
|
s("div", {
|
|
5044
5044
|
class: "legend-bars flex-center",
|
|
5045
|
-
style:
|
|
5045
|
+
style: V([{ position: "absolute" }, { right: t.right + "px", bottom: a.bottom }])
|
|
5046
5046
|
}, e[0] || (e[0] = [
|
|
5047
5047
|
s("span", null, "nm", -1),
|
|
5048
5048
|
s("span", null, "0", -1),
|
|
@@ -5051,9 +5051,9 @@ function ai(t, e, a, r, i, o) {
|
|
|
5051
5051
|
s("span", null, "3", -1),
|
|
5052
5052
|
s("span", null, "9", -1)
|
|
5053
5053
|
]), 4)
|
|
5054
|
-
])) :
|
|
5054
|
+
])) : j("", !0);
|
|
5055
5055
|
}
|
|
5056
|
-
const ii = /* @__PURE__ */
|
|
5056
|
+
const ii = /* @__PURE__ */ S(ei, [["render", ai], ["__scopeId", "data-v-1c8a9237"]]);
|
|
5057
5057
|
const ri = {
|
|
5058
5058
|
name: "IdmWaterTemp",
|
|
5059
5059
|
props: {
|
|
@@ -5082,7 +5082,7 @@ const ri = {
|
|
|
5082
5082
|
texture: void 0,
|
|
5083
5083
|
rampColor: void 0,
|
|
5084
5084
|
aPositionBuffer: void 0,
|
|
5085
|
-
webgl: new
|
|
5085
|
+
webgl: new Ce(),
|
|
5086
5086
|
etime: void 0,
|
|
5087
5087
|
right: 10
|
|
5088
5088
|
};
|
|
@@ -5143,7 +5143,7 @@ const ri = {
|
|
|
5143
5143
|
//
|
|
5144
5144
|
];
|
|
5145
5145
|
this.rampColor = this.webgl.setup(this.context, t);
|
|
5146
|
-
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context,
|
|
5146
|
+
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context, Z.vertexSchema, Z.fragmentSchema);
|
|
5147
5147
|
this.program = e, this.aPositionBuffer = a;
|
|
5148
5148
|
}
|
|
5149
5149
|
},
|
|
@@ -5159,10 +5159,10 @@ const ri = {
|
|
|
5159
5159
|
}, oi = { key: 0 };
|
|
5160
5160
|
function si(t, e, a, r, i, o) {
|
|
5161
5161
|
var l;
|
|
5162
|
-
return (l = a.factor) != null && l.active ? (
|
|
5162
|
+
return (l = a.factor) != null && l.active ? (m(), g("div", oi, [
|
|
5163
5163
|
s("div", {
|
|
5164
5164
|
class: "legend-bars flex-center",
|
|
5165
|
-
style:
|
|
5165
|
+
style: V([{ position: "absolute" }, { right: i.right + "px", bottom: a.bottom }])
|
|
5166
5166
|
}, e[0] || (e[0] = [
|
|
5167
5167
|
s("span", null, "°C", -1),
|
|
5168
5168
|
s("span", null, "0", -1),
|
|
@@ -5171,9 +5171,9 @@ function si(t, e, a, r, i, o) {
|
|
|
5171
5171
|
s("span", null, "30", -1),
|
|
5172
5172
|
s("span", null, "40", -1)
|
|
5173
5173
|
]), 4)
|
|
5174
|
-
])) :
|
|
5174
|
+
])) : j("", !0);
|
|
5175
5175
|
}
|
|
5176
|
-
const ni = /* @__PURE__ */
|
|
5176
|
+
const ni = /* @__PURE__ */ S(ri, [["render", si], ["__scopeId", "data-v-8974924d"]]);
|
|
5177
5177
|
const li = {
|
|
5178
5178
|
name: "IdmTemp",
|
|
5179
5179
|
props: {
|
|
@@ -5202,7 +5202,7 @@ const li = {
|
|
|
5202
5202
|
texture: void 0,
|
|
5203
5203
|
rampColor: void 0,
|
|
5204
5204
|
aPositionBuffer: void 0,
|
|
5205
|
-
webgl: new
|
|
5205
|
+
webgl: new Ce(),
|
|
5206
5206
|
etime: void 0,
|
|
5207
5207
|
right: 10
|
|
5208
5208
|
};
|
|
@@ -5266,7 +5266,7 @@ const li = {
|
|
|
5266
5266
|
[1, "rgb(138, 43, 10)"]
|
|
5267
5267
|
];
|
|
5268
5268
|
this.rampColor = this.webgl.setup(this.context, t);
|
|
5269
|
-
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context,
|
|
5269
|
+
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context, Z.vertexSchema, Z.fragmentSchema);
|
|
5270
5270
|
this.program = e, this.aPositionBuffer = a;
|
|
5271
5271
|
}
|
|
5272
5272
|
},
|
|
@@ -5282,10 +5282,10 @@ const li = {
|
|
|
5282
5282
|
}, ci = { key: 0 };
|
|
5283
5283
|
function hi(t, e, a, r, i, o) {
|
|
5284
5284
|
var l;
|
|
5285
|
-
return (l = a.factor) != null && l.active ? (
|
|
5285
|
+
return (l = a.factor) != null && l.active ? (m(), g("div", ci, [
|
|
5286
5286
|
s("div", {
|
|
5287
5287
|
class: "legend-bars flex-center",
|
|
5288
|
-
style:
|
|
5288
|
+
style: V([{ position: "absolute" }, { right: i.right + "px", bottom: a.bottom }])
|
|
5289
5289
|
}, e[0] || (e[0] = [
|
|
5290
5290
|
s("span", null, "°C", -1),
|
|
5291
5291
|
s("span", null, "-20", -1),
|
|
@@ -5296,129 +5296,15 @@ function hi(t, e, a, r, i, o) {
|
|
|
5296
5296
|
s("span", null, "30", -1),
|
|
5297
5297
|
s("span", null, "40", -1)
|
|
5298
5298
|
]), 4)
|
|
5299
|
-
])) :
|
|
5299
|
+
])) : j("", !0);
|
|
5300
5300
|
}
|
|
5301
|
-
const di = /* @__PURE__ */
|
|
5302
|
-
const pi = {
|
|
5303
|
-
name: "IdmArctic",
|
|
5304
|
-
props: {
|
|
5305
|
-
factor: {
|
|
5306
|
-
type: Object
|
|
5307
|
-
},
|
|
5308
|
-
viewport: {
|
|
5309
|
-
type: Object
|
|
5310
|
-
},
|
|
5311
|
-
// right: {
|
|
5312
|
-
// type: String,
|
|
5313
|
-
// default: '10px',
|
|
5314
|
-
// },
|
|
5315
|
-
bottom: {
|
|
5316
|
-
type: String,
|
|
5317
|
-
default: "70px"
|
|
5318
|
-
},
|
|
5319
|
-
toggleVersion: {
|
|
5320
|
-
type: Number
|
|
5321
|
-
}
|
|
5322
|
-
},
|
|
5323
|
-
data() {
|
|
5324
|
-
return {
|
|
5325
|
-
program: void 0,
|
|
5326
|
-
context: void 0,
|
|
5327
|
-
texture: void 0,
|
|
5328
|
-
rampColor: void 0,
|
|
5329
|
-
aPositionBuffer: void 0,
|
|
5330
|
-
webgl: new Le(),
|
|
5331
|
-
etime: void 0,
|
|
5332
|
-
right: 10
|
|
5333
|
-
};
|
|
5334
|
-
},
|
|
5335
|
-
watch: {
|
|
5336
|
-
"factor.version": {
|
|
5337
|
-
handler() {
|
|
5338
|
-
var t;
|
|
5339
|
-
(t = this.factor) != null && t.active ? this.handleRender() : this.handleClear();
|
|
5340
|
-
},
|
|
5341
|
-
deep: !0
|
|
5342
|
-
},
|
|
5343
|
-
toggleVersion: {
|
|
5344
|
-
handler() {
|
|
5345
|
-
var t;
|
|
5346
|
-
this.right = (((t = document.getElementsByClassName("right-bar")[0]) == null ? void 0 : t.clientWidth) || 0) + 10;
|
|
5347
|
-
},
|
|
5348
|
-
immediate: !0
|
|
5349
|
-
}
|
|
5350
|
-
},
|
|
5351
|
-
methods: {
|
|
5352
|
-
handleRender() {
|
|
5353
|
-
if (!this.viewport)
|
|
5354
|
-
setTimeout(() => {
|
|
5355
|
-
this.handleRender();
|
|
5356
|
-
}, 500);
|
|
5357
|
-
else if (this.factor) {
|
|
5358
|
-
const t = (/* @__PURE__ */ new Date()).valueOf();
|
|
5359
|
-
let e = 0, a = 0;
|
|
5360
|
-
this.handleDraw(), a = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("[water-temp] add elapsed: ", a, ", total: ", e += a);
|
|
5361
|
-
}
|
|
5362
|
-
},
|
|
5363
|
-
handleClear() {
|
|
5364
|
-
this.context = void 0, this.etime = void 0, this.viewport.toggle(!1);
|
|
5365
|
-
},
|
|
5366
|
-
handleSetup() {
|
|
5367
|
-
if (!this.context) {
|
|
5368
|
-
this.context = this.viewport.rampColorCanvas.getContext("webgl");
|
|
5369
|
-
const t = [
|
|
5370
|
-
[0, "rgba(76, 165, 228, 0)"],
|
|
5371
|
-
[50 / 255, "rgba(76, 165, 228, 0)"],
|
|
5372
|
-
// 0m
|
|
5373
|
-
[51 / 255, "rgb(76, 165, 228)"],
|
|
5374
|
-
// 0m
|
|
5375
|
-
[102 / 255, "rgb(129, 204, 197)"],
|
|
5376
|
-
// 0.5m
|
|
5377
|
-
[153 / 255, "rgb(150, 209, 216)"],
|
|
5378
|
-
// 1m
|
|
5379
|
-
[204 / 255, "rgb(180, 209, 216)"],
|
|
5380
|
-
// 1.5m
|
|
5381
|
-
[1, "rgb(180, 209, 216)"]
|
|
5382
|
-
// 2m
|
|
5383
|
-
];
|
|
5384
|
-
this.rampColor = this.webgl.setup(this.context, t);
|
|
5385
|
-
const { program: e, aPositionBuffer: a } = this.webgl.bind(this.context, J.vertexSchema, J.fragmentSchema);
|
|
5386
|
-
this.program = e, this.aPositionBuffer = a;
|
|
5387
|
-
}
|
|
5388
|
-
},
|
|
5389
|
-
async handleDraw() {
|
|
5390
|
-
if (this.handleSetup(), this.etime !== this.factor.etime) {
|
|
5391
|
-
this.etime = this.factor.etime;
|
|
5392
|
-
const t = await this.webgl.loadImg(this.factor.raw);
|
|
5393
|
-
this.texture = this.webgl.createTexture(this.context, this.context.NEAREST, this.context.LINEAR, this.context.CLAMP_TO_EDGE, t);
|
|
5394
|
-
}
|
|
5395
|
-
this.webgl.draw(this.viewport, this.context, this.program, this.texture, this.rampColor.texture, this.aPositionBuffer), this.viewport.toggle(!0);
|
|
5396
|
-
}
|
|
5397
|
-
}
|
|
5398
|
-
}, ui = { key: 0 };
|
|
5399
|
-
function mi(t, e, a, r, i, o) {
|
|
5400
|
-
var l;
|
|
5401
|
-
return (l = a.factor) != null && l.active ? (A(), f("div", ui, [
|
|
5402
|
-
s("div", {
|
|
5403
|
-
class: "legend-bars flex-center",
|
|
5404
|
-
style: X([{ position: "absolute" }, { right: i.right + "px", bottom: a.bottom }])
|
|
5405
|
-
}, e[0] || (e[0] = [
|
|
5406
|
-
s("span", null, "m", -1),
|
|
5407
|
-
s("span", null, "0", -1),
|
|
5408
|
-
s("span", null, "0.5", -1),
|
|
5409
|
-
s("span", null, "1", -1),
|
|
5410
|
-
s("span", null, "1.5", -1),
|
|
5411
|
-
s("span", null, "2", -1)
|
|
5412
|
-
]), 4)
|
|
5413
|
-
])) : N("", !0);
|
|
5414
|
-
}
|
|
5415
|
-
const gi = /* @__PURE__ */ T(pi, [["render", mi], ["__scopeId", "data-v-71587f65"]]);
|
|
5301
|
+
const di = /* @__PURE__ */ S(li, [["render", hi], ["__scopeId", "data-v-d709ba86"]]);
|
|
5416
5302
|
/*! Element Plus Icons Vue v2.3.1 */
|
|
5417
|
-
var
|
|
5303
|
+
var pi = /* @__PURE__ */ mt({
|
|
5418
5304
|
name: "LocationFilled",
|
|
5419
5305
|
__name: "location-filled",
|
|
5420
5306
|
setup(t) {
|
|
5421
|
-
return (e, a) => (
|
|
5307
|
+
return (e, a) => (m(), g("svg", {
|
|
5422
5308
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5423
5309
|
viewBox: "0 0 1024 1024"
|
|
5424
5310
|
}, [
|
|
@@ -5428,11 +5314,11 @@ var Ai = /* @__PURE__ */ mt({
|
|
|
5428
5314
|
})
|
|
5429
5315
|
]));
|
|
5430
5316
|
}
|
|
5431
|
-
}),
|
|
5432
|
-
const yi = "data:image/gif;base64,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";
|
|
5433
|
-
const
|
|
5317
|
+
}), ui = pi;
|
|
5318
|
+
const mi = "data:image/gif;base64,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";
|
|
5319
|
+
const gi = {
|
|
5434
5320
|
name: "IdmPoint",
|
|
5435
|
-
components: { LocationFilled:
|
|
5321
|
+
components: { LocationFilled: ui },
|
|
5436
5322
|
props: {
|
|
5437
5323
|
token: {
|
|
5438
5324
|
type: String
|
|
@@ -5518,8 +5404,8 @@ const wi = {
|
|
|
5518
5404
|
var t;
|
|
5519
5405
|
if (this.showMeteo && this.ts) {
|
|
5520
5406
|
this.handleRender();
|
|
5521
|
-
const e =
|
|
5522
|
-
((t =
|
|
5407
|
+
const e = U();
|
|
5408
|
+
((t = U(this.ts)) == null ? void 0 : t.diff(e, "d", !0)) >= 0 ? await this.fetchMeteoData(this.point, this.ts, 7) : await this.fetchHistoryData(this.point, this.ts), this.initTableData(this.meteoData);
|
|
5523
5409
|
}
|
|
5524
5410
|
}
|
|
5525
5411
|
},
|
|
@@ -5528,9 +5414,9 @@ const wi = {
|
|
|
5528
5414
|
var t;
|
|
5529
5415
|
if (this.showMeteo = !0, this.tideData = {}, this.meteoData = {}, this.showMeteo && this.ts) {
|
|
5530
5416
|
this.handleRender();
|
|
5531
|
-
const e =
|
|
5532
|
-
if (((t =
|
|
5533
|
-
const r =
|
|
5417
|
+
const e = U();
|
|
5418
|
+
if (((t = U(this.ts)) == null ? void 0 : t.diff(e, "d", !0)) >= 0 ? await this.fetchMeteoData(this.point, this.ts, 7) : await this.fetchHistoryData(this.point, this.ts), this.initTableData(this.meteoData), this.activeIndex === 4) {
|
|
5419
|
+
const r = Ye.pickDailyExtremes(this.tideData, this.ts);
|
|
5534
5420
|
(r == null ? void 0 : r.length) > 0 ? this.tideTableData = r : await this.fetchTidesData(this.point, this.ts, 7);
|
|
5535
5421
|
}
|
|
5536
5422
|
}
|
|
@@ -5540,13 +5426,13 @@ const wi = {
|
|
|
5540
5426
|
async handler() {
|
|
5541
5427
|
var t;
|
|
5542
5428
|
if (this.showMeteo && this.ts) {
|
|
5543
|
-
const e =
|
|
5429
|
+
const e = U(), a = (t = U(this.ts)) == null ? void 0 : t.diff(e, "d", !0), i = [0, 1, 2, 3, 4, 5, 6, 7].every((o) => {
|
|
5544
5430
|
var c;
|
|
5545
|
-
const l =
|
|
5546
|
-
return (c =
|
|
5431
|
+
const l = Ge(this.ts).tz(this.positionGmt).add(3 * o, "h").format();
|
|
5432
|
+
return (c = We.pickHourly(this.meteoData, l)) == null ? void 0 : c[0];
|
|
5547
5433
|
});
|
|
5548
5434
|
if (this.meteoData && i ? this.initTableData(this.meteoData) : (this.loading || (a >= 0 ? await this.fetchMeteoData(this.point, this.ts, 7) : await this.fetchHistoryData(this.point, this.ts)), this.initTableData(this.meteoData)), this.activeIndex === 4) {
|
|
5549
|
-
const o =
|
|
5435
|
+
const o = Ye.pickDailyExtremes(this.tideData, this.ts);
|
|
5550
5436
|
(o == null ? void 0 : o.length) > 0 ? this.tideTableData = o : await this.fetchTidesData(this.point, this.ts, 7);
|
|
5551
5437
|
}
|
|
5552
5438
|
}
|
|
@@ -5556,40 +5442,40 @@ const wi = {
|
|
|
5556
5442
|
computed: {
|
|
5557
5443
|
computeHourL() {
|
|
5558
5444
|
return function(t) {
|
|
5559
|
-
return t ? `${
|
|
5445
|
+
return t ? `${Ge(t).tz(this.positionGmt).format("HH")}` : "-";
|
|
5560
5446
|
};
|
|
5561
5447
|
},
|
|
5562
5448
|
computeHourZ() {
|
|
5563
5449
|
return function(t) {
|
|
5564
|
-
return t ? `${
|
|
5450
|
+
return t ? `${U(t).utc().format("HH")}Z` : "-";
|
|
5565
5451
|
};
|
|
5566
5452
|
},
|
|
5567
5453
|
computeHourHmmLT() {
|
|
5568
5454
|
return function(t) {
|
|
5569
|
-
return t ? `${
|
|
5455
|
+
return t ? `${Ge(t).tz(this.positionGmt).format("H:mm")}` : "-";
|
|
5570
5456
|
};
|
|
5571
5457
|
},
|
|
5572
5458
|
computeLat() {
|
|
5573
5459
|
return function(t, e = 4) {
|
|
5574
|
-
return
|
|
5460
|
+
return X.lat2pretty(t, e).pretty;
|
|
5575
5461
|
};
|
|
5576
5462
|
},
|
|
5577
5463
|
computeLng() {
|
|
5578
5464
|
return function(t, e = 4) {
|
|
5579
|
-
return
|
|
5465
|
+
return X.lng2pretty(t, e).pretty;
|
|
5580
5466
|
};
|
|
5581
5467
|
},
|
|
5582
5468
|
roundPrecision() {
|
|
5583
5469
|
return function(t, e = 4) {
|
|
5584
|
-
return isNaN(t) ? "-" :
|
|
5470
|
+
return isNaN(t) ? "-" : X.roundPrecision(t, e);
|
|
5585
5471
|
};
|
|
5586
5472
|
}
|
|
5587
5473
|
},
|
|
5588
5474
|
methods: {
|
|
5589
5475
|
async fetchMeteoData(t, e, a) {
|
|
5590
5476
|
this.loading = !0, this.meteoData = [];
|
|
5591
|
-
let r = e ?
|
|
5592
|
-
const { weatherModels: i, marineModels: o } =
|
|
5477
|
+
let r = e ? U(e).utc().format() : U().utc().format();
|
|
5478
|
+
const { weatherModels: i, marineModels: o } = We.autoPickMeteoModel(this.forecastModel);
|
|
5593
5479
|
let l = {
|
|
5594
5480
|
lat: t.lat,
|
|
5595
5481
|
lng: t.lng,
|
|
@@ -5606,7 +5492,7 @@ const wi = {
|
|
|
5606
5492
|
},
|
|
5607
5493
|
async fetchHistoryData(t, e) {
|
|
5608
5494
|
this.loading = !0, this.meteoData = [];
|
|
5609
|
-
const a = e ?
|
|
5495
|
+
const a = e ? U(e).utc().format() : U().utc().format(), { weatherModels: r, marineModels: i } = We.autoPickMeteoModel(this.forecastModel), o = {
|
|
5610
5496
|
lat: t.lat,
|
|
5611
5497
|
lng: t.lng,
|
|
5612
5498
|
datetime: a,
|
|
@@ -5622,18 +5508,18 @@ const wi = {
|
|
|
5622
5508
|
(l == null ? void 0 : l.data.code) === 0 && (this.meteoData = l == null ? void 0 : l.data.data, this.loading = !1);
|
|
5623
5509
|
},
|
|
5624
5510
|
initTableData(t) {
|
|
5625
|
-
var e, a, r, i, o, l, c, h,
|
|
5626
|
-
this.clearTable(), this.positionGmt = (a = (e = t == null ? void 0 : t.weather) == null ? void 0 : e[0]) == null ? void 0 : a.timezone, this.positionOffset = (i = (r = t == null ? void 0 : t.weather) == null ? void 0 : r[0]) == null ? void 0 : i.offset, this.localDate = (l = (o =
|
|
5627
|
-
var d, w, b,
|
|
5511
|
+
var e, a, r, i, o, l, c, h, p;
|
|
5512
|
+
this.clearTable(), this.positionGmt = (a = (e = t == null ? void 0 : t.weather) == null ? void 0 : e[0]) == null ? void 0 : a.timezone, this.positionOffset = (i = (r = t == null ? void 0 : t.weather) == null ? void 0 : r[0]) == null ? void 0 : i.offset, this.localDate = (l = (o = Ge(this.ts)) == null ? void 0 : o.tz(this.positionGmt)) == null ? void 0 : l.format("MMM-DD/HHmm[LT]"), this.currentHourData = (c = We.pickHourly(t, U(this.ts))) == null ? void 0 : c[0], ((p = (h = this.currentHourData) == null ? void 0 : h.weather) == null ? void 0 : p.isDay) === 0 ? this.isDay = !1 : this.isDay = !0, this.$nextTick(() => {
|
|
5513
|
+
var d, w, b, A, E, v, f, u, C, y, B, D, T, N, O, Q, Y, K, ce, he, de, pe, ue, me, ge, te, oe, Ae, ie, _, $, fe, re;
|
|
5628
5514
|
if (!document.getElementById("meteoMainBox"))
|
|
5629
5515
|
return !1;
|
|
5630
5516
|
if (!this.currentHourData)
|
|
5631
5517
|
return this.loading = !1, this.tableData.hours = [void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0], this.handleRender(), !1;
|
|
5632
5518
|
for (let se = 0; se < 8; se++) {
|
|
5633
|
-
const ne =
|
|
5519
|
+
const ne = Ge(this.ts).tz(this.positionGmt).add(3 * se, "h").format();
|
|
5634
5520
|
this.tableData.hours.push(ne);
|
|
5635
|
-
const
|
|
5636
|
-
this.tableData.temp.push(this.roundPrecision((w =
|
|
5521
|
+
const x = ((d = We.pickHourly(t, ne)) == null ? void 0 : d[0]) || {};
|
|
5522
|
+
this.tableData.temp.push(this.roundPrecision((w = x == null ? void 0 : x.weather) == null ? void 0 : w.temp, 0) ?? "-"), this.tableData.precipProbability.push(this.roundPrecision((A = (b = x == null ? void 0 : x.weather) == null ? void 0 : b.precip) == null ? void 0 : A.probability, 0) ?? "-"), this.tableData.precip1h.push(this.roundPrecision((v = (E = x == null ? void 0 : x.weather) == null ? void 0 : E.precip) == null ? void 0 : v.sum, 0) ?? "-"), this.tableData.visibility.push(this.roundPrecision((f = x == null ? void 0 : x.weather) == null ? void 0 : f.visibility, 0) ?? "-"), this.tableData.windSpeed.push(this.roundPrecision((C = (u = x == null ? void 0 : x.weather) == null ? void 0 : u.wind) == null ? void 0 : C.kts, 1) ?? "-"), this.tableData.windDir.push((B = (y = x == null ? void 0 : x.weather) == null ? void 0 : y.wind) == null ? void 0 : B.bearing), this.tableData.windGust.push(this.roundPrecision((T = (D = x == null ? void 0 : x.weather) == null ? void 0 : D.wind) == null ? void 0 : T.gusts, 1) ?? "-"), this.tableData.sigwaveHeight.push(this.roundPrecision((O = (N = x == null ? void 0 : x.wave) == null ? void 0 : N.sig) == null ? void 0 : O.height, 1) ?? "-"), this.tableData.sigwaveDir.push((Y = (Q = x == null ? void 0 : x.wave) == null ? void 0 : Q.sig) == null ? void 0 : Y.bearing), this.tableData.windwaveHeight.push(this.roundPrecision((ce = (K = x == null ? void 0 : x.wave) == null ? void 0 : K.wd) == null ? void 0 : ce.height, 1) ?? "-"), this.tableData.windwaveDir.push((de = (he = x == null ? void 0 : x.wave) == null ? void 0 : he.wd) == null ? void 0 : de.bearing), this.tableData.windwavePeriod.push(this.roundPrecision((ue = (pe = x == null ? void 0 : x.wave) == null ? void 0 : pe.wd) == null ? void 0 : ue.period, 1) ?? "-"), this.tableData.swellHeight.push(this.roundPrecision((ge = (me = x == null ? void 0 : x.wave) == null ? void 0 : me.swell) == null ? void 0 : ge.height, 1) ?? "-"), this.tableData.swellDir.push((oe = (te = x == null ? void 0 : x.wave) == null ? void 0 : te.swell) == null ? void 0 : oe.bearing), this.tableData.swellPeriod.push(this.roundPrecision((ie = (Ae = x == null ? void 0 : x.wave) == null ? void 0 : Ae.swell) == null ? void 0 : ie.period, 1) ?? "-"), this.tableData.currentSpeed.push(this.roundPrecision((_ = x == null ? void 0 : x.current) == null ? void 0 : _.speed, 1) ?? "-"), this.tableData.currentDir.push(($ = x == null ? void 0 : x.current) == null ? void 0 : $.bearing), this.tableData.seaLevel.push(this.roundPrecision(x == null ? void 0 : x.height, 1) ?? "-"), this.tableData.seaTemp.push(this.roundPrecision(x == null ? void 0 : x.sst, 0) ?? "-"), this.tableData.weatherUrls.push((fe = x == null ? void 0 : x.weather) == null ? void 0 : fe.url), this.tableData.weatherNames.push(((re = x == null ? void 0 : x.weather) == null ? void 0 : re.name) ?? "-");
|
|
5637
5523
|
}
|
|
5638
5524
|
});
|
|
5639
5525
|
},
|
|
@@ -5669,7 +5555,7 @@ const wi = {
|
|
|
5669
5555
|
},
|
|
5670
5556
|
async fetchTidesData(t, e, a) {
|
|
5671
5557
|
this.tideLoading = !0, this.tideData = {};
|
|
5672
|
-
let r = e ?
|
|
5558
|
+
let r = e ? U(e).utc().format() : U().utc().format(), i = {
|
|
5673
5559
|
lat: t.lat,
|
|
5674
5560
|
lng: t.lng,
|
|
5675
5561
|
date: r,
|
|
@@ -5683,7 +5569,7 @@ const wi = {
|
|
|
5683
5569
|
});
|
|
5684
5570
|
if ((o == null ? void 0 : o.data.code) === 0) {
|
|
5685
5571
|
this.tideData = (o == null ? void 0 : o.data.data) || {}, this.tideLoading = !1;
|
|
5686
|
-
const l =
|
|
5572
|
+
const l = Ye.pickDailyExtremes(this.tideData, this.ts);
|
|
5687
5573
|
this.tideTableData = l;
|
|
5688
5574
|
}
|
|
5689
5575
|
},
|
|
@@ -5711,71 +5597,71 @@ const wi = {
|
|
|
5711
5597
|
});
|
|
5712
5598
|
}
|
|
5713
5599
|
}
|
|
5714
|
-
},
|
|
5600
|
+
}, Ai = {
|
|
5715
5601
|
id: "point-meteo",
|
|
5716
5602
|
class: "point-meteo"
|
|
5717
|
-
},
|
|
5603
|
+
}, fi = { class: "meteo-box" }, yi = { class: "header-box flex-between" }, wi = { class: "flex-center" }, bi = { class: "lnglat" }, vi = { class: "flex-center" }, Li = { class: "summary-row flex-between" }, Ci = { class: "summary flex-center" }, xi = ["src"], Bi = {
|
|
5718
5604
|
key: 1,
|
|
5719
5605
|
class: "icon flex-center",
|
|
5720
5606
|
style: { "margin-right": "5px" }
|
|
5721
|
-
},
|
|
5607
|
+
}, Ii = { class: "temp" }, Ei = { class: "des info" }, Di = { class: "flex-start" }, Pi = { class: "flex-start" }, ki = { class: "flex-start" }, Mi = { class: "date flex-col-center-end" }, zi = { class: "" }, Ti = { class: "" }, Qi = { class: "detail-box" }, Si = { class: "menu-header flex-start" }, _i = { class: "basic-table" }, Hi = { class: "hour" }, Oi = { class: "hour" }, Ni = { class: "icon" }, ji = ["src"], Ri = { class: "text" }, Fi = { class: "text" }, Gi = { class: "text" }, Wi = { class: "text" }, Ui = { class: "wave-current-table" }, Yi = { class: "hour" }, Ki = { class: "hour" }, Xi = { class: "text" }, Ji = { class: "text" }, qi = { class: "text" }, Vi = { class: "text" }, Zi = { class: "text" }, $i = {
|
|
5722
5608
|
class: "sea-table",
|
|
5723
5609
|
style: { height: "92px" }
|
|
5724
|
-
},
|
|
5610
|
+
}, er = { class: "hour" }, tr = { class: "hour" }, ar = { class: "text" }, ir = { class: "text" }, rr = { key: 0 }, or = { class: "tide-table flex-col-start-center" }, sr = { class: "tr-tide flex-space" }, nr = { class: "tr-tide flex-space" }, lr = { class: "tr-tide flex-space" }, cr = { style: { padding: "17px 10px 18px 10px" } }, hr = { class: "flex-between" }, dr = {
|
|
5725
5611
|
class: "flex-space",
|
|
5726
5612
|
style: { flex: "1", "line-height": "30px" }
|
|
5727
|
-
},
|
|
5613
|
+
}, pr = {
|
|
5728
5614
|
class: "flex-space",
|
|
5729
5615
|
style: { flex: "1", "padding-left": "30px" }
|
|
5730
|
-
},
|
|
5616
|
+
}, ur = { class: "flex-between" }, mr = {
|
|
5731
5617
|
class: "flex-space",
|
|
5732
5618
|
style: { flex: "1", "line-height": "30px" }
|
|
5733
|
-
},
|
|
5619
|
+
}, gr = {
|
|
5734
5620
|
class: "flex-space",
|
|
5735
5621
|
style: { flex: "1", "padding-left": "30px" }
|
|
5736
|
-
},
|
|
5622
|
+
}, Ar = { class: "flex-between" }, fr = {
|
|
5737
5623
|
class: "flex-space",
|
|
5738
5624
|
style: { flex: "1", "line-height": "30px" }
|
|
5739
|
-
},
|
|
5625
|
+
}, yr = {
|
|
5740
5626
|
class: "flex-space",
|
|
5741
5627
|
style: { flex: "1", "padding-left": "30px" }
|
|
5742
|
-
},
|
|
5628
|
+
}, wr = { class: "flex-between" }, br = {
|
|
5743
5629
|
class: "flex-space",
|
|
5744
5630
|
style: { flex: "1", "line-height": "30px" }
|
|
5745
|
-
},
|
|
5631
|
+
}, vr = {
|
|
5746
5632
|
class: "flex-space",
|
|
5747
5633
|
style: { flex: "1", "padding-left": "30px" }
|
|
5748
|
-
},
|
|
5634
|
+
}, Lr = { class: "flex-between" }, Cr = {
|
|
5749
5635
|
class: "flex-space",
|
|
5750
5636
|
style: { flex: "1", "line-height": "30px" }
|
|
5751
|
-
},
|
|
5637
|
+
}, xr = {
|
|
5752
5638
|
class: "flex-space",
|
|
5753
5639
|
style: { flex: "1", "padding-left": "30px" }
|
|
5754
|
-
},
|
|
5640
|
+
}, Br = {
|
|
5755
5641
|
key: 1,
|
|
5756
5642
|
class: "main-box flex-center"
|
|
5757
5643
|
};
|
|
5758
|
-
function
|
|
5759
|
-
var
|
|
5644
|
+
function Ir(t, e, a, r, i, o) {
|
|
5645
|
+
var p, n, d, w, b, A, E, v, f, u, C, y, B, D, T, N, O, Q, Y, K, ce, he, de, pe, ue, me, ge, te, oe, Ae, ie, _, $, fe, re, se, ne, x, Le, xe, Be, Ie, Ee, De, Pe, ke, Me, ze, Te, Qe, Se, _e, He, Oe, Ne, je, Re, Fe, J, qe, Ve, Ze, $e, et, tt, at, it, rt;
|
|
5760
5646
|
const l = z("LocationFilled"), c = z("ElIcon"), h = z("ElTooltip");
|
|
5761
|
-
return
|
|
5762
|
-
s("div",
|
|
5763
|
-
s("div",
|
|
5764
|
-
s("div",
|
|
5765
|
-
|
|
5647
|
+
return ye((m(), g("div", Ai, [
|
|
5648
|
+
s("div", fi, [
|
|
5649
|
+
s("div", yi, [
|
|
5650
|
+
s("div", wi, [
|
|
5651
|
+
M(c, { size: "22" }, {
|
|
5766
5652
|
default: ae(() => [
|
|
5767
|
-
|
|
5653
|
+
M(l)
|
|
5768
5654
|
]),
|
|
5769
5655
|
_: 1
|
|
5770
5656
|
}),
|
|
5771
|
-
s("div",
|
|
5657
|
+
s("div", bi, I(o.computeLat((p = i.point) == null ? void 0 : p.lat)) + "," + I(o.computeLng((n = i.point) == null ? void 0 : n.lng)), 1)
|
|
5772
5658
|
]),
|
|
5773
|
-
s("div",
|
|
5774
|
-
i.showTables ? (
|
|
5659
|
+
s("div", vi, [
|
|
5660
|
+
i.showTables ? (m(), g("div", {
|
|
5775
5661
|
key: 0,
|
|
5776
5662
|
class: "iconfont toggle",
|
|
5777
5663
|
onClick: e[0] || (e[0] = (L) => i.showTables = !i.showTables)
|
|
5778
|
-
}, "")) : (
|
|
5664
|
+
}, "")) : (m(), g("div", {
|
|
5779
5665
|
key: 1,
|
|
5780
5666
|
class: "iconfont toggle",
|
|
5781
5667
|
onClick: e[1] || (e[1] = (L) => i.showTables = !i.showTables)
|
|
@@ -5786,516 +5672,516 @@ function kr(t, e, a, r, i, o) {
|
|
|
5786
5672
|
}, "")
|
|
5787
5673
|
])
|
|
5788
5674
|
]),
|
|
5789
|
-
i.loading ? (
|
|
5790
|
-
s("img", { src:
|
|
5791
|
-
]))) : (
|
|
5675
|
+
i.loading ? (m(), g("div", Br, e[42] || (e[42] = [
|
|
5676
|
+
s("img", { src: mi }, null, -1)
|
|
5677
|
+
]))) : (m(), g("div", {
|
|
5792
5678
|
key: 0,
|
|
5793
|
-
class:
|
|
5679
|
+
class: F(["main-box", i.isDay ? "day-bg" : "night-bg"]),
|
|
5794
5680
|
id: "meteoMainBox"
|
|
5795
5681
|
}, [
|
|
5796
|
-
s("div",
|
|
5797
|
-
s("div",
|
|
5798
|
-
|
|
5682
|
+
s("div", Li, [
|
|
5683
|
+
s("div", Ci, [
|
|
5684
|
+
M(h, {
|
|
5799
5685
|
placement: "top",
|
|
5800
5686
|
effect: "light",
|
|
5801
5687
|
content: (w = (d = i.currentHourData) == null ? void 0 : d.weather) == null ? void 0 : w.name,
|
|
5802
5688
|
"show-after": 1e3
|
|
5803
5689
|
}, {
|
|
5804
5690
|
default: ae(() => {
|
|
5805
|
-
var L,
|
|
5691
|
+
var L, P, ot, st;
|
|
5806
5692
|
return [
|
|
5807
|
-
(
|
|
5693
|
+
(P = (L = i.currentHourData) == null ? void 0 : L.weather) != null && P.url ? (m(), g("img", {
|
|
5808
5694
|
key: 0,
|
|
5809
5695
|
class: "iconfont icon",
|
|
5810
5696
|
style: { "margin-right": "5px" },
|
|
5811
5697
|
src: (st = (ot = i.currentHourData) == null ? void 0 : ot.weather) == null ? void 0 : st.url
|
|
5812
|
-
}, null, 8,
|
|
5698
|
+
}, null, 8, xi)) : (m(), g("span", Bi))
|
|
5813
5699
|
];
|
|
5814
5700
|
}),
|
|
5815
5701
|
_: 1
|
|
5816
5702
|
}, 8, ["content"]),
|
|
5817
|
-
s("div",
|
|
5703
|
+
s("div", Ii, [
|
|
5818
5704
|
s("div", null, [
|
|
5819
|
-
|
|
5705
|
+
q(I(o.roundPrecision((A = (b = i.currentHourData) == null ? void 0 : b.weather) == null ? void 0 : A.temp, 0)), 1),
|
|
5820
5706
|
e[8] || (e[8] = s("span", { style: { "font-size": "14px" } }, "°C", -1))
|
|
5821
5707
|
])
|
|
5822
5708
|
]),
|
|
5823
|
-
s("div",
|
|
5824
|
-
s("div",
|
|
5709
|
+
s("div", Ei, [
|
|
5710
|
+
s("div", Di, [
|
|
5825
5711
|
e[9] || (e[9] = s("label", null, "Precip : ", -1)),
|
|
5826
|
-
s("span", null, I(o.roundPrecision((
|
|
5712
|
+
s("span", null, I(o.roundPrecision((f = (v = (E = i.currentHourData) == null ? void 0 : E.weather) == null ? void 0 : v.precip) == null ? void 0 : f.sum, 0)) + " mm", 1)
|
|
5827
5713
|
]),
|
|
5828
|
-
s("div",
|
|
5714
|
+
s("div", Pi, [
|
|
5829
5715
|
e[10] || (e[10] = s("label", null, "Visibility : ", -1)),
|
|
5830
|
-
s("span", null, I(o.roundPrecision((
|
|
5716
|
+
s("span", null, I(o.roundPrecision((C = (u = i.currentHourData) == null ? void 0 : u.weather) == null ? void 0 : C.visibility, 0)) + " nm", 1)
|
|
5831
5717
|
]),
|
|
5832
|
-
s("div",
|
|
5718
|
+
s("div", ki, [
|
|
5833
5719
|
e[11] || (e[11] = s("label", null, "Wind : ", -1)),
|
|
5834
|
-
s("span", null, I(o.roundPrecision((
|
|
5720
|
+
s("span", null, I(o.roundPrecision((D = (B = (y = i.currentHourData) == null ? void 0 : y.weather) == null ? void 0 : B.wind) == null ? void 0 : D.kts, 1)) + " kts", 1)
|
|
5835
5721
|
])
|
|
5836
5722
|
])
|
|
5837
5723
|
]),
|
|
5838
|
-
s("div",
|
|
5839
|
-
s("div",
|
|
5840
|
-
s("div",
|
|
5724
|
+
s("div", Mi, [
|
|
5725
|
+
s("div", zi, I(i.localDate), 1),
|
|
5726
|
+
s("div", Ti, "( UTC " + I(i.positionOffset) + " )", 1)
|
|
5841
5727
|
])
|
|
5842
5728
|
]),
|
|
5843
|
-
|
|
5844
|
-
s("div",
|
|
5729
|
+
ye(s("div", Qi, [
|
|
5730
|
+
s("div", Si, [
|
|
5845
5731
|
s("div", {
|
|
5846
|
-
class:
|
|
5847
|
-
onClick: e[3] || (e[3] =
|
|
5732
|
+
class: F(["menu-item", i.activeIndex === 1 ? "active" : ""]),
|
|
5733
|
+
onClick: e[3] || (e[3] = Ue((L) => o.handleSelectTab(1), ["prevent"]))
|
|
5848
5734
|
}, "Basis", 2),
|
|
5849
5735
|
s("div", {
|
|
5850
|
-
class:
|
|
5851
|
-
onClick: e[4] || (e[4] =
|
|
5736
|
+
class: F(["menu-item", i.activeIndex === 2 ? "active" : ""]),
|
|
5737
|
+
onClick: e[4] || (e[4] = Ue((L) => o.handleSelectTab(2), ["prevent"]))
|
|
5852
5738
|
}, "Wave & Current", 2),
|
|
5853
5739
|
s("div", {
|
|
5854
|
-
class:
|
|
5855
|
-
onClick: e[5] || (e[5] =
|
|
5740
|
+
class: F(["menu-item", i.activeIndex === 3 ? "active" : ""]),
|
|
5741
|
+
onClick: e[5] || (e[5] = Ue((L) => o.handleSelectTab(3), ["prevent"]))
|
|
5856
5742
|
}, "Sea Surface", 2),
|
|
5857
5743
|
s("div", {
|
|
5858
|
-
class:
|
|
5859
|
-
onClick: e[6] || (e[6] =
|
|
5744
|
+
class: F(["menu-item", i.activeIndex === 4 ? "active" : ""]),
|
|
5745
|
+
onClick: e[6] || (e[6] = Ue((L) => o.handleSelectTab(4), ["prevent"]))
|
|
5860
5746
|
}, "Tides", 2)
|
|
5861
5747
|
]),
|
|
5862
|
-
|
|
5863
|
-
s("tr",
|
|
5748
|
+
ye(s("table", _i, [
|
|
5749
|
+
s("tr", Hi, [
|
|
5864
5750
|
e[12] || (e[12] = s("th", {
|
|
5865
5751
|
rowspan: "1",
|
|
5866
5752
|
colspan: "1",
|
|
5867
5753
|
class: "tr-title"
|
|
5868
5754
|
}, [
|
|
5869
|
-
|
|
5755
|
+
q("Hours"),
|
|
5870
5756
|
s("span", { class: "unit" }, "(LT)")
|
|
5871
5757
|
], -1)),
|
|
5872
|
-
(
|
|
5758
|
+
(m(!0), g(R, null, G(i.tableData.hours, (L) => (m(), g("th", {
|
|
5873
5759
|
rowspan: "1",
|
|
5874
5760
|
colspan: "1",
|
|
5875
5761
|
key: `HourL${L}`
|
|
5876
5762
|
}, I(o.computeHourL(L)), 1))), 128))
|
|
5877
5763
|
]),
|
|
5878
|
-
s("tr",
|
|
5764
|
+
s("tr", Oi, [
|
|
5879
5765
|
e[13] || (e[13] = s("th", {
|
|
5880
5766
|
rowspan: "1",
|
|
5881
5767
|
colspan: "1",
|
|
5882
5768
|
class: "tr-title"
|
|
5883
5769
|
}, [
|
|
5884
|
-
|
|
5770
|
+
q("UTC"),
|
|
5885
5771
|
s("span", { class: "unit" })
|
|
5886
5772
|
], -1)),
|
|
5887
|
-
(
|
|
5773
|
+
(m(!0), g(R, null, G(i.tableData.hours, (L) => (m(), g("th", {
|
|
5888
5774
|
rowspan: "1",
|
|
5889
5775
|
colspan: "1",
|
|
5890
5776
|
key: `HourZ${L}`
|
|
5891
5777
|
}, I(o.computeHourZ(L)), 1))), 128))
|
|
5892
5778
|
]),
|
|
5893
|
-
s("tr",
|
|
5779
|
+
s("tr", Ni, [
|
|
5894
5780
|
e[14] || (e[14] = s("th", {
|
|
5895
5781
|
rowspan: "1",
|
|
5896
5782
|
colspan: "1",
|
|
5897
5783
|
class: "tr-title"
|
|
5898
5784
|
}, null, -1)),
|
|
5899
|
-
(
|
|
5785
|
+
(m(!0), g(R, null, G(i.tableData.weatherUrls, (L, P) => (m(), g("th", {
|
|
5900
5786
|
rowspan: "1",
|
|
5901
5787
|
colspan: "1",
|
|
5902
|
-
key: `weatherUrls${
|
|
5788
|
+
key: `weatherUrls${P}${L}`
|
|
5903
5789
|
}, [
|
|
5904
|
-
|
|
5790
|
+
M(h, {
|
|
5905
5791
|
placement: "top",
|
|
5906
5792
|
effect: "light",
|
|
5907
|
-
content: i.tableData.weatherNames[
|
|
5793
|
+
content: i.tableData.weatherNames[P],
|
|
5908
5794
|
"show-after": 500
|
|
5909
5795
|
}, {
|
|
5910
5796
|
default: ae(() => [
|
|
5911
|
-
L ? (
|
|
5797
|
+
L ? (m(), g("img", {
|
|
5912
5798
|
key: 0,
|
|
5913
5799
|
class: "iconfont weather-icon",
|
|
5914
5800
|
src: L
|
|
5915
|
-
}, null, 8,
|
|
5801
|
+
}, null, 8, ji)) : j("", !0)
|
|
5916
5802
|
]),
|
|
5917
5803
|
_: 2
|
|
5918
5804
|
}, 1032, ["content"])
|
|
5919
5805
|
]))), 128))
|
|
5920
5806
|
]),
|
|
5921
|
-
s("tr",
|
|
5807
|
+
s("tr", Ri, [
|
|
5922
5808
|
e[15] || (e[15] = s("td", {
|
|
5923
5809
|
rowspan: "1",
|
|
5924
5810
|
colspan: "1",
|
|
5925
5811
|
class: "tr-title"
|
|
5926
5812
|
}, [
|
|
5927
|
-
|
|
5813
|
+
q("Temp"),
|
|
5928
5814
|
s("span", { class: "unit" }, "°C")
|
|
5929
5815
|
], -1)),
|
|
5930
|
-
(
|
|
5816
|
+
(m(!0), g(R, null, G(i.tableData.temp, (L, P) => (m(), g("td", {
|
|
5931
5817
|
rowspan: "1",
|
|
5932
5818
|
colspan: "1",
|
|
5933
|
-
key: `weatherUrls${
|
|
5819
|
+
key: `weatherUrls${P}${L}`
|
|
5934
5820
|
}, I(L), 1))), 128))
|
|
5935
5821
|
]),
|
|
5936
|
-
s("tr",
|
|
5822
|
+
s("tr", Fi, [
|
|
5937
5823
|
e[16] || (e[16] = s("td", {
|
|
5938
5824
|
rowspan: "1",
|
|
5939
5825
|
colspan: "1",
|
|
5940
5826
|
class: "tr-title"
|
|
5941
5827
|
}, [
|
|
5942
|
-
|
|
5828
|
+
q("Precip"),
|
|
5943
5829
|
s("span", { class: "unit" }, "mm")
|
|
5944
5830
|
], -1)),
|
|
5945
|
-
(
|
|
5831
|
+
(m(!0), g(R, null, G(i.tableData.precip1h, (L, P) => (m(), g("td", {
|
|
5946
5832
|
rowspan: "1",
|
|
5947
5833
|
colspan: "1",
|
|
5948
|
-
key: `precip1h${
|
|
5834
|
+
key: `precip1h${P}${L}`
|
|
5949
5835
|
}, I(L), 1))), 128))
|
|
5950
5836
|
]),
|
|
5951
|
-
s("tr",
|
|
5837
|
+
s("tr", Gi, [
|
|
5952
5838
|
e[17] || (e[17] = s("td", {
|
|
5953
5839
|
rowspan: "1",
|
|
5954
5840
|
colspan: "1",
|
|
5955
5841
|
class: "tr-title"
|
|
5956
5842
|
}, [
|
|
5957
|
-
|
|
5843
|
+
q("Visibility"),
|
|
5958
5844
|
s("span", { class: "unit" }, "nm")
|
|
5959
5845
|
], -1)),
|
|
5960
|
-
(
|
|
5846
|
+
(m(!0), g(R, null, G(i.tableData.visibility, (L, P) => (m(), g("td", {
|
|
5961
5847
|
rowspan: "1",
|
|
5962
5848
|
colspan: "1",
|
|
5963
|
-
key: `visibility${
|
|
5849
|
+
key: `visibility${P}${L}`
|
|
5964
5850
|
}, I(L), 1))), 128))
|
|
5965
5851
|
]),
|
|
5966
|
-
s("tr",
|
|
5852
|
+
s("tr", Wi, [
|
|
5967
5853
|
e[18] || (e[18] = s("td", {
|
|
5968
5854
|
rowspan: "1",
|
|
5969
5855
|
colspan: "1",
|
|
5970
5856
|
class: "tr-title"
|
|
5971
5857
|
}, [
|
|
5972
|
-
|
|
5858
|
+
q("Wind gust"),
|
|
5973
5859
|
s("span", { class: "unit" }, "kts")
|
|
5974
5860
|
], -1)),
|
|
5975
|
-
(
|
|
5861
|
+
(m(!0), g(R, null, G(i.tableData.windGust, (L, P) => (m(), g("td", {
|
|
5976
5862
|
rowspan: "1",
|
|
5977
5863
|
colspan: "1",
|
|
5978
|
-
key: `windGust${
|
|
5864
|
+
key: `windGust${P}${L}`
|
|
5979
5865
|
}, [
|
|
5980
|
-
isNaN(i.tableData.windDir[
|
|
5866
|
+
isNaN(i.tableData.windDir[P]) ? j("", !0) : (m(), g("span", {
|
|
5981
5867
|
key: 0,
|
|
5982
5868
|
class: "iconfont icon blue",
|
|
5983
|
-
style:
|
|
5869
|
+
style: V({ display: "inline-block", transform: `rotate(${i.tableData.windDir[P]}deg)` })
|
|
5984
5870
|
}, "", 4)),
|
|
5985
5871
|
s("span", null, I(L), 1)
|
|
5986
5872
|
]))), 128))
|
|
5987
5873
|
])
|
|
5988
5874
|
], 512), [
|
|
5989
|
-
[
|
|
5875
|
+
[we, i.activeIndex === 1]
|
|
5990
5876
|
]),
|
|
5991
|
-
|
|
5992
|
-
s("tr",
|
|
5877
|
+
ye(s("table", Ui, [
|
|
5878
|
+
s("tr", Yi, [
|
|
5993
5879
|
e[19] || (e[19] = s("th", {
|
|
5994
5880
|
rowspan: "1",
|
|
5995
5881
|
colspan: "1",
|
|
5996
5882
|
class: "tr-title"
|
|
5997
5883
|
}, [
|
|
5998
|
-
|
|
5884
|
+
q("Hours"),
|
|
5999
5885
|
s("span", { class: "unit" }, "(LT)")
|
|
6000
5886
|
], -1)),
|
|
6001
|
-
(
|
|
5887
|
+
(m(!0), g(R, null, G(i.tableData.hours, (L, P) => (m(), g("th", {
|
|
6002
5888
|
rowspan: "1",
|
|
6003
5889
|
colspan: "1",
|
|
6004
|
-
key: `currenthoursL${
|
|
5890
|
+
key: `currenthoursL${P}${L}`
|
|
6005
5891
|
}, I(o.computeHourL(L)), 1))), 128))
|
|
6006
5892
|
]),
|
|
6007
|
-
s("tr",
|
|
5893
|
+
s("tr", Ki, [
|
|
6008
5894
|
e[20] || (e[20] = s("th", {
|
|
6009
5895
|
rowspan: "1",
|
|
6010
5896
|
colspan: "1",
|
|
6011
5897
|
class: "tr-title"
|
|
6012
5898
|
}, [
|
|
6013
|
-
|
|
5899
|
+
q("UTC"),
|
|
6014
5900
|
s("span", { class: "unit" })
|
|
6015
5901
|
], -1)),
|
|
6016
|
-
(
|
|
5902
|
+
(m(!0), g(R, null, G(i.tableData.hours, (L, P) => (m(), g("th", {
|
|
6017
5903
|
rowspan: "1",
|
|
6018
5904
|
colspan: "1",
|
|
6019
|
-
key: `currenthoursZ${
|
|
5905
|
+
key: `currenthoursZ${P}${L}`
|
|
6020
5906
|
}, I(o.computeHourZ(L)), 1))), 128))
|
|
6021
5907
|
]),
|
|
6022
|
-
s("tr",
|
|
5908
|
+
s("tr", Xi, [
|
|
6023
5909
|
e[21] || (e[21] = s("td", {
|
|
6024
5910
|
rowspan: "1",
|
|
6025
5911
|
colspan: "1",
|
|
6026
5912
|
class: "tr-title"
|
|
6027
5913
|
}, [
|
|
6028
|
-
|
|
5914
|
+
q("Wind"),
|
|
6029
5915
|
s("span", { class: "unit" }, "kts")
|
|
6030
5916
|
], -1)),
|
|
6031
|
-
(
|
|
5917
|
+
(m(!0), g(R, null, G(i.tableData.windSpeed, (L, P) => (m(), g("td", {
|
|
6032
5918
|
rowspan: "1",
|
|
6033
5919
|
colspan: "1",
|
|
6034
|
-
key: `windSpeed${
|
|
5920
|
+
key: `windSpeed${P}${L}`
|
|
6035
5921
|
}, [
|
|
6036
|
-
isNaN(i.tableData.windDir[
|
|
5922
|
+
isNaN(i.tableData.windDir[P]) ? j("", !0) : (m(), g("span", {
|
|
6037
5923
|
key: 0,
|
|
6038
5924
|
class: "iconfont icon wind",
|
|
6039
|
-
style:
|
|
5925
|
+
style: V({ display: "inline-block", transform: `rotate(${i.tableData.windDir[P]}deg)` })
|
|
6040
5926
|
}, "", 4)),
|
|
6041
5927
|
s("span", null, I(L), 1)
|
|
6042
5928
|
]))), 128))
|
|
6043
5929
|
]),
|
|
6044
|
-
s("tr",
|
|
5930
|
+
s("tr", Ji, [
|
|
6045
5931
|
e[22] || (e[22] = s("td", {
|
|
6046
5932
|
rowspan: "1",
|
|
6047
5933
|
colspan: "1",
|
|
6048
5934
|
class: "tr-title"
|
|
6049
5935
|
}, [
|
|
6050
|
-
|
|
5936
|
+
q("Sig Wave"),
|
|
6051
5937
|
s("span", { class: "unit" }, "m")
|
|
6052
5938
|
], -1)),
|
|
6053
|
-
(
|
|
5939
|
+
(m(!0), g(R, null, G(i.tableData.sigwaveHeight, (L, P) => (m(), g("td", {
|
|
6054
5940
|
rowspan: "1",
|
|
6055
5941
|
colspan: "1",
|
|
6056
|
-
key: `sigwaveHeight${
|
|
5942
|
+
key: `sigwaveHeight${P}${L}`
|
|
6057
5943
|
}, [
|
|
6058
|
-
isNaN(i.tableData.sigwaveDir[
|
|
5944
|
+
isNaN(i.tableData.sigwaveDir[P]) ? j("", !0) : (m(), g("span", {
|
|
6059
5945
|
key: 0,
|
|
6060
5946
|
class: "iconfont icon sigwave",
|
|
6061
|
-
style:
|
|
5947
|
+
style: V({ display: "inline-block", transform: `rotate(${i.tableData.sigwaveDir[P]}deg)` })
|
|
6062
5948
|
}, "", 4)),
|
|
6063
5949
|
s("span", null, I(L), 1)
|
|
6064
5950
|
]))), 128))
|
|
6065
5951
|
]),
|
|
6066
|
-
s("tr",
|
|
5952
|
+
s("tr", qi, [
|
|
6067
5953
|
e[23] || (e[23] = s("td", {
|
|
6068
5954
|
rowspan: "1",
|
|
6069
5955
|
colspan: "1",
|
|
6070
5956
|
class: "tr-title"
|
|
6071
5957
|
}, [
|
|
6072
|
-
|
|
5958
|
+
q("Wind Wave"),
|
|
6073
5959
|
s("span", { class: "unit" }, "m")
|
|
6074
5960
|
], -1)),
|
|
6075
|
-
(
|
|
5961
|
+
(m(!0), g(R, null, G(i.tableData.windwaveHeight, (L, P) => (m(), g("td", {
|
|
6076
5962
|
rowspan: "1",
|
|
6077
5963
|
colspan: "1",
|
|
6078
|
-
key: `windwaveHeight${
|
|
5964
|
+
key: `windwaveHeight${P}${L}`
|
|
6079
5965
|
}, [
|
|
6080
|
-
isNaN(i.tableData.sigwaveDir[
|
|
5966
|
+
isNaN(i.tableData.sigwaveDir[P]) ? j("", !0) : (m(), g("span", {
|
|
6081
5967
|
key: 0,
|
|
6082
5968
|
class: "iconfont icon windwave",
|
|
6083
|
-
style:
|
|
5969
|
+
style: V({ display: "inline-block", transform: `rotate(${i.tableData.windwaveDir[P]}deg)` })
|
|
6084
5970
|
}, "", 4)),
|
|
6085
5971
|
s("span", null, I(L), 1)
|
|
6086
5972
|
]))), 128))
|
|
6087
5973
|
]),
|
|
6088
|
-
s("tr",
|
|
5974
|
+
s("tr", Vi, [
|
|
6089
5975
|
e[24] || (e[24] = s("td", {
|
|
6090
5976
|
rowspan: "1",
|
|
6091
5977
|
colspan: "1",
|
|
6092
5978
|
class: "tr-title"
|
|
6093
5979
|
}, [
|
|
6094
|
-
|
|
5980
|
+
q("Swell"),
|
|
6095
5981
|
s("span", { class: "unit" }, "m")
|
|
6096
5982
|
], -1)),
|
|
6097
|
-
(
|
|
5983
|
+
(m(!0), g(R, null, G(i.tableData.swellHeight, (L, P) => (m(), g("td", {
|
|
6098
5984
|
rowspan: "1",
|
|
6099
5985
|
colspan: "1",
|
|
6100
|
-
key: `swellHeight${
|
|
5986
|
+
key: `swellHeight${P}${L}`
|
|
6101
5987
|
}, [
|
|
6102
|
-
isNaN(i.tableData.swellDir[
|
|
5988
|
+
isNaN(i.tableData.swellDir[P]) ? j("", !0) : (m(), g("span", {
|
|
6103
5989
|
key: 0,
|
|
6104
5990
|
class: "iconfont icon swell",
|
|
6105
|
-
style:
|
|
5991
|
+
style: V({ display: "inline-block", transform: `rotate(${i.tableData.swellDir[P]}deg)` })
|
|
6106
5992
|
}, "", 4)),
|
|
6107
5993
|
s("span", null, I(L), 1)
|
|
6108
5994
|
]))), 128))
|
|
6109
5995
|
]),
|
|
6110
|
-
s("tr",
|
|
5996
|
+
s("tr", Zi, [
|
|
6111
5997
|
e[25] || (e[25] = s("td", {
|
|
6112
5998
|
rowspan: "1",
|
|
6113
5999
|
colspan: "1",
|
|
6114
6000
|
class: "tr-title"
|
|
6115
6001
|
}, [
|
|
6116
|
-
|
|
6002
|
+
q("Current"),
|
|
6117
6003
|
s("span", { class: "unit" }, "kts")
|
|
6118
6004
|
], -1)),
|
|
6119
|
-
(
|
|
6005
|
+
(m(!0), g(R, null, G(i.tableData.currentSpeed, (L, P) => (m(), g("td", {
|
|
6120
6006
|
rowspan: "1",
|
|
6121
6007
|
colspan: "1",
|
|
6122
|
-
key: `currentSpeed${
|
|
6008
|
+
key: `currentSpeed${P}${L}`
|
|
6123
6009
|
}, [
|
|
6124
|
-
isNaN(i.tableData.currentDir[
|
|
6010
|
+
isNaN(i.tableData.currentDir[P]) ? j("", !0) : (m(), g("span", {
|
|
6125
6011
|
key: 0,
|
|
6126
6012
|
class: "iconfont icon current",
|
|
6127
6013
|
id: "meteoGrayIcon",
|
|
6128
|
-
style:
|
|
6014
|
+
style: V({ display: "inline-block", transform: `rotate(${i.tableData.currentDir[P]}deg)` })
|
|
6129
6015
|
}, "", 4)),
|
|
6130
6016
|
s("span", null, I(L), 1)
|
|
6131
6017
|
]))), 128))
|
|
6132
6018
|
])
|
|
6133
6019
|
], 512), [
|
|
6134
|
-
[
|
|
6020
|
+
[we, i.activeIndex === 2]
|
|
6135
6021
|
]),
|
|
6136
|
-
|
|
6137
|
-
s("tr",
|
|
6022
|
+
ye(s("table", $i, [
|
|
6023
|
+
s("tr", er, [
|
|
6138
6024
|
e[26] || (e[26] = s("th", {
|
|
6139
6025
|
rowspan: "1",
|
|
6140
6026
|
colspan: "1",
|
|
6141
6027
|
class: "tr-title"
|
|
6142
6028
|
}, [
|
|
6143
|
-
|
|
6029
|
+
q("Hours"),
|
|
6144
6030
|
s("span", { class: "unit" }, "(LT)")
|
|
6145
6031
|
], -1)),
|
|
6146
|
-
(
|
|
6032
|
+
(m(!0), g(R, null, G(i.tableData.hours, (L, P) => (m(), g("th", {
|
|
6147
6033
|
rowspan: "1",
|
|
6148
6034
|
colspan: "1",
|
|
6149
|
-
key: `seahoursL${
|
|
6035
|
+
key: `seahoursL${P}${L}`
|
|
6150
6036
|
}, I(o.computeHourL(L)), 1))), 128))
|
|
6151
6037
|
]),
|
|
6152
|
-
s("tr",
|
|
6038
|
+
s("tr", tr, [
|
|
6153
6039
|
e[27] || (e[27] = s("th", {
|
|
6154
6040
|
rowspan: "1",
|
|
6155
6041
|
colspan: "1",
|
|
6156
6042
|
class: "tr-title"
|
|
6157
6043
|
}, [
|
|
6158
|
-
|
|
6044
|
+
q("UTC"),
|
|
6159
6045
|
s("span", { class: "unit" })
|
|
6160
6046
|
], -1)),
|
|
6161
|
-
(
|
|
6047
|
+
(m(!0), g(R, null, G(i.tableData.hours, (L, P) => (m(), g("th", {
|
|
6162
6048
|
rowspan: "1",
|
|
6163
6049
|
colspan: "1",
|
|
6164
|
-
key: `seahoursZ${
|
|
6050
|
+
key: `seahoursZ${P}${L}`
|
|
6165
6051
|
}, I(o.computeHourZ(L)), 1))), 128))
|
|
6166
6052
|
]),
|
|
6167
|
-
s("tr",
|
|
6053
|
+
s("tr", ar, [
|
|
6168
6054
|
e[28] || (e[28] = s("td", {
|
|
6169
6055
|
rowspan: "1",
|
|
6170
6056
|
colspan: "1",
|
|
6171
6057
|
class: "tr-title"
|
|
6172
6058
|
}, [
|
|
6173
|
-
|
|
6059
|
+
q("SeaLevel"),
|
|
6174
6060
|
s("span", { class: "unit" }, "m")
|
|
6175
6061
|
], -1)),
|
|
6176
|
-
(
|
|
6062
|
+
(m(!0), g(R, null, G(i.tableData.seaLevel, (L, P) => (m(), g("td", {
|
|
6177
6063
|
rowspan: "1",
|
|
6178
6064
|
colspan: "1",
|
|
6179
|
-
key: `SeaLevel${
|
|
6065
|
+
key: `SeaLevel${P}${L}`
|
|
6180
6066
|
}, I(L), 1))), 128))
|
|
6181
6067
|
]),
|
|
6182
|
-
s("tr",
|
|
6068
|
+
s("tr", ir, [
|
|
6183
6069
|
e[29] || (e[29] = s("td", {
|
|
6184
6070
|
rowspan: "1",
|
|
6185
6071
|
colspan: "1",
|
|
6186
6072
|
class: "tr-title"
|
|
6187
6073
|
}, [
|
|
6188
|
-
|
|
6074
|
+
q("SeaTemp"),
|
|
6189
6075
|
s("span", { class: "unit" }, "°C")
|
|
6190
6076
|
], -1)),
|
|
6191
|
-
(
|
|
6077
|
+
(m(!0), g(R, null, G(i.tableData.seaTemp, (L, P) => (m(), g("td", {
|
|
6192
6078
|
rowspan: "1",
|
|
6193
6079
|
colspan: "1",
|
|
6194
|
-
key: `SeaTemp${
|
|
6080
|
+
key: `SeaTemp${P}${L}`
|
|
6195
6081
|
}, I(L), 1))), 128))
|
|
6196
6082
|
])
|
|
6197
6083
|
], 512), [
|
|
6198
|
-
[
|
|
6084
|
+
[we, i.activeIndex === 3]
|
|
6199
6085
|
]),
|
|
6200
|
-
i.activeIndex === 3 ? (
|
|
6086
|
+
i.activeIndex === 3 ? (m(), g("div", rr, e[30] || (e[30] = [
|
|
6201
6087
|
s("p", { style: { "font-size": "12px", padding: "12px 20px 0 20px", "line-height": "16px" } }, "*Sea level height accounts for tides, barometer effects, and global variations. Based on mean sea level, accuracy is limited in coastal areas. For coastal navigation, use data from Tides Tab.", -1)
|
|
6202
|
-
]))) :
|
|
6203
|
-
|
|
6204
|
-
s("tr",
|
|
6205
|
-
(
|
|
6088
|
+
]))) : j("", !0),
|
|
6089
|
+
ye(s("table", or, [
|
|
6090
|
+
s("tr", sr, [
|
|
6091
|
+
(m(!0), g(R, null, G(i.tideTableData, (L, P) => (m(), g("th", {
|
|
6206
6092
|
rowspan: "1",
|
|
6207
6093
|
colspan: "1",
|
|
6208
|
-
key: `Tide-tr-${
|
|
6094
|
+
key: `Tide-tr-${P}${L}`
|
|
6209
6095
|
}, I(L.type) + " Tide", 1))), 128))
|
|
6210
6096
|
]),
|
|
6211
|
-
s("tr",
|
|
6212
|
-
(
|
|
6097
|
+
s("tr", nr, [
|
|
6098
|
+
(m(!0), g(R, null, G(i.tideTableData, (L, P) => (m(), g("td", {
|
|
6213
6099
|
rowspan: "1",
|
|
6214
6100
|
colspan: "1",
|
|
6215
|
-
key: `Tide-date-${
|
|
6101
|
+
key: `Tide-date-${P}${L}`
|
|
6216
6102
|
}, I(o.computeHourHmmLT(L == null ? void 0 : L.date)), 1))), 128))
|
|
6217
6103
|
]),
|
|
6218
|
-
s("tr",
|
|
6219
|
-
(
|
|
6104
|
+
s("tr", lr, [
|
|
6105
|
+
(m(!0), g(R, null, G(i.tideTableData, (L, P) => (m(), g("td", {
|
|
6220
6106
|
rowspan: "1",
|
|
6221
6107
|
colspan: "1",
|
|
6222
|
-
key: `Tide-height-${
|
|
6108
|
+
key: `Tide-height-${P}${L}`
|
|
6223
6109
|
}, I(o.roundPrecision(L == null ? void 0 : L.height, 2)) + " m", 1))), 128))
|
|
6224
6110
|
]),
|
|
6225
6111
|
e[31] || (e[31] = s("tr", { class: "tr-tide flex-center info" }, [
|
|
6226
6112
|
s("span", null, "Tide Datum: Chart Datum")
|
|
6227
6113
|
], -1))
|
|
6228
6114
|
], 512), [
|
|
6229
|
-
[
|
|
6115
|
+
[we, i.activeIndex === 4]
|
|
6230
6116
|
])
|
|
6231
6117
|
], 512), [
|
|
6232
|
-
[
|
|
6118
|
+
[we, ((N = (T = i.tableData) == null ? void 0 : T.hours) == null ? void 0 : N.length) > 0 && i.showTables]
|
|
6233
6119
|
]),
|
|
6234
|
-
|
|
6235
|
-
s("div",
|
|
6236
|
-
s("div",
|
|
6120
|
+
ye(s("div", cr, [
|
|
6121
|
+
s("div", hr, [
|
|
6122
|
+
s("div", dr, [
|
|
6237
6123
|
e[32] || (e[32] = s("div", null, "Wind", -1)),
|
|
6238
|
-
s("div", null, I((
|
|
6124
|
+
s("div", null, I((Y = (Q = (O = i.currentHourData) == null ? void 0 : O.weather) == null ? void 0 : Q.wind) == null ? void 0 : Y.direction) + "/" + I(o.roundPrecision((he = (ce = (K = i.currentHourData) == null ? void 0 : K.weather) == null ? void 0 : ce.wind) == null ? void 0 : he.kts, 1)) + "kts/BF" + I((ue = (pe = (de = i.currentHourData) == null ? void 0 : de.weather) == null ? void 0 : pe.wind) == null ? void 0 : ue.scale) + "/" + I(o.roundPrecision((te = (ge = (me = i.currentHourData) == null ? void 0 : me.weather) == null ? void 0 : ge.wind) == null ? void 0 : te.gusts, 1)) + " kts", 1)
|
|
6239
6125
|
]),
|
|
6240
|
-
s("div",
|
|
6126
|
+
s("div", pr, [
|
|
6241
6127
|
e[33] || (e[33] = s("div", null, "Sig wave", -1)),
|
|
6242
|
-
s("div", null, I((ie = (
|
|
6128
|
+
s("div", null, I((ie = (Ae = (oe = i.currentHourData) == null ? void 0 : oe.wave) == null ? void 0 : Ae.sig) == null ? void 0 : ie.direction) + "/" + I(o.roundPrecision((fe = ($ = (_ = i.currentHourData) == null ? void 0 : _.wave) == null ? void 0 : $.sig) == null ? void 0 : fe.height, 1)) + "m/" + I(o.roundPrecision((ne = (se = (re = i.currentHourData) == null ? void 0 : re.wave) == null ? void 0 : se.sig) == null ? void 0 : ne.period, 1)) + "s", 1)
|
|
6243
6129
|
])
|
|
6244
6130
|
]),
|
|
6245
|
-
s("div",
|
|
6246
|
-
s("div",
|
|
6131
|
+
s("div", ur, [
|
|
6132
|
+
s("div", mr, [
|
|
6247
6133
|
e[34] || (e[34] = s("div", null, "Wind wave", -1)),
|
|
6248
|
-
s("div", null, I((xe = (
|
|
6134
|
+
s("div", null, I((xe = (Le = (x = i.currentHourData) == null ? void 0 : x.wave) == null ? void 0 : Le.wd) == null ? void 0 : xe.direction) + "/" + I(o.roundPrecision((Ee = (Ie = (Be = i.currentHourData) == null ? void 0 : Be.wave) == null ? void 0 : Ie.wd) == null ? void 0 : Ee.height, 1)) + "m/" + I(o.roundPrecision((ke = (Pe = (De = i.currentHourData) == null ? void 0 : De.wave) == null ? void 0 : Pe.wd) == null ? void 0 : ke.period, 1)) + "s", 1)
|
|
6249
6135
|
]),
|
|
6250
|
-
s("div",
|
|
6136
|
+
s("div", gr, [
|
|
6251
6137
|
e[35] || (e[35] = s("div", null, "Swell", -1)),
|
|
6252
6138
|
s("div", null, I((Te = (ze = (Me = i.currentHourData) == null ? void 0 : Me.wave) == null ? void 0 : ze.swell) == null ? void 0 : Te.direction) + "/" + I(o.roundPrecision((_e = (Se = (Qe = i.currentHourData) == null ? void 0 : Qe.wave) == null ? void 0 : Se.swell) == null ? void 0 : _e.height, 1)) + "m/" + I(o.roundPrecision((Ne = (Oe = (He = i.currentHourData) == null ? void 0 : He.wave) == null ? void 0 : Oe.swell) == null ? void 0 : Ne.period, 1)) + "s", 1)
|
|
6253
6139
|
])
|
|
6254
6140
|
]),
|
|
6255
|
-
s("div",
|
|
6256
|
-
s("div",
|
|
6141
|
+
s("div", Ar, [
|
|
6142
|
+
s("div", fr, [
|
|
6257
6143
|
e[36] || (e[36] = s("div", null, "Current", -1)),
|
|
6258
|
-
s("div", null, I((Re = (je = i.currentHourData) == null ? void 0 : je.current) == null ? void 0 : Re.direction) + "/" + I(o.roundPrecision((
|
|
6144
|
+
s("div", null, I((Re = (je = i.currentHourData) == null ? void 0 : je.current) == null ? void 0 : Re.direction) + "/" + I(o.roundPrecision((J = (Fe = i.currentHourData) == null ? void 0 : Fe.current) == null ? void 0 : J.kts, 2)) + "kts", 1)
|
|
6259
6145
|
]),
|
|
6260
|
-
s("div",
|
|
6146
|
+
s("div", yr, [
|
|
6261
6147
|
e[37] || (e[37] = s("div", null, "Sea level", -1)),
|
|
6262
|
-
s("div", null, I(o.roundPrecision((
|
|
6148
|
+
s("div", null, I(o.roundPrecision((qe = i.currentHourData) == null ? void 0 : qe.height, 1)) + "m", 1)
|
|
6263
6149
|
])
|
|
6264
6150
|
]),
|
|
6265
|
-
s("div",
|
|
6266
|
-
s("div",
|
|
6151
|
+
s("div", wr, [
|
|
6152
|
+
s("div", br, [
|
|
6267
6153
|
e[38] || (e[38] = s("div", null, "Sea Temp", -1)),
|
|
6268
|
-
s("div", null, I(o.roundPrecision((
|
|
6154
|
+
s("div", null, I(o.roundPrecision((Ve = i.currentHourData) == null ? void 0 : Ve.sst, 1)) + "°C", 1)
|
|
6269
6155
|
]),
|
|
6270
|
-
s("div",
|
|
6156
|
+
s("div", vr, [
|
|
6271
6157
|
e[39] || (e[39] = s("div", null, "Visibility", -1)),
|
|
6272
6158
|
s("div", null, I(o.roundPrecision(($e = (Ze = i.currentHourData) == null ? void 0 : Ze.weather) == null ? void 0 : $e.visibility, 1)) + "nm", 1)
|
|
6273
6159
|
])
|
|
6274
6160
|
]),
|
|
6275
|
-
s("div",
|
|
6276
|
-
s("div",
|
|
6161
|
+
s("div", Lr, [
|
|
6162
|
+
s("div", Cr, [
|
|
6277
6163
|
e[40] || (e[40] = s("div", null, "Temp", -1)),
|
|
6278
6164
|
s("div", null, I(o.roundPrecision((tt = (et = i.currentHourData) == null ? void 0 : et.weather) == null ? void 0 : tt.temp, 1)) + "°C", 1)
|
|
6279
6165
|
]),
|
|
6280
|
-
s("div",
|
|
6166
|
+
s("div", xr, [
|
|
6281
6167
|
e[41] || (e[41] = s("div", null, "Precip", -1)),
|
|
6282
6168
|
s("div", null, I(o.roundPrecision((rt = (it = (at = i.currentHourData) == null ? void 0 : at.weather) == null ? void 0 : it.precip) == null ? void 0 : rt.sum3Hours, 1)) + "mm", 1)
|
|
6283
6169
|
])
|
|
6284
6170
|
])
|
|
6285
6171
|
], 512), [
|
|
6286
|
-
[
|
|
6172
|
+
[we, !i.showTables]
|
|
6287
6173
|
]),
|
|
6288
6174
|
s("div", {
|
|
6289
|
-
class:
|
|
6175
|
+
class: F(["more", i.isDay ? "day" : "night"]),
|
|
6290
6176
|
onClick: e[7] || (e[7] = (...L) => o.handleMeteoMore && o.handleMeteoMore(...L))
|
|
6291
6177
|
}, "More >>", 2)
|
|
6292
6178
|
], 2))
|
|
6293
6179
|
])
|
|
6294
6180
|
], 512)), [
|
|
6295
|
-
[
|
|
6181
|
+
[we, i.showMeteo]
|
|
6296
6182
|
]);
|
|
6297
6183
|
}
|
|
6298
|
-
const
|
|
6184
|
+
const Er = /* @__PURE__ */ S(gi, [["render", Ir], ["__scopeId", "data-v-cdc6da70"]]), Dr = {
|
|
6299
6185
|
name: "IdmWarZone",
|
|
6300
6186
|
props: {
|
|
6301
6187
|
map: {
|
|
@@ -6385,10 +6271,10 @@ const Mr = /* @__PURE__ */ T(wi, [["render", kr], ["__scopeId", "data-v-cdc6da70
|
|
|
6385
6271
|
}
|
|
6386
6272
|
}
|
|
6387
6273
|
};
|
|
6388
|
-
function
|
|
6389
|
-
return
|
|
6274
|
+
function Pr(t, e, a, r, i, o) {
|
|
6275
|
+
return m(), g("div");
|
|
6390
6276
|
}
|
|
6391
|
-
const
|
|
6277
|
+
const kr = /* @__PURE__ */ S(Dr, [["render", Pr]]), Mr = {
|
|
6392
6278
|
name: "IdmGmdssArea",
|
|
6393
6279
|
props: {
|
|
6394
6280
|
map: {
|
|
@@ -6508,10 +6394,10 @@ const Qr = /* @__PURE__ */ T(zr, [["render", Tr]]), Sr = {
|
|
|
6508
6394
|
}
|
|
6509
6395
|
}
|
|
6510
6396
|
};
|
|
6511
|
-
function
|
|
6512
|
-
return
|
|
6397
|
+
function zr(t, e, a, r, i, o) {
|
|
6398
|
+
return m(), g("div");
|
|
6513
6399
|
}
|
|
6514
|
-
const
|
|
6400
|
+
const Tr = /* @__PURE__ */ S(Mr, [["render", zr]]), Qr = {
|
|
6515
6401
|
name: "IdmEcaZone",
|
|
6516
6402
|
props: {
|
|
6517
6403
|
map: {
|
|
@@ -6599,11 +6485,11 @@ const Hr = /* @__PURE__ */ T(Sr, [["render", _r]]), Or = {
|
|
|
6599
6485
|
}
|
|
6600
6486
|
}
|
|
6601
6487
|
};
|
|
6602
|
-
function
|
|
6603
|
-
return
|
|
6488
|
+
function Sr(t, e, a, r, i, o) {
|
|
6489
|
+
return m(), g("div");
|
|
6604
6490
|
}
|
|
6605
|
-
const
|
|
6606
|
-
const
|
|
6491
|
+
const _r = /* @__PURE__ */ S(Qr, [["render", Sr]]);
|
|
6492
|
+
const Hr = {
|
|
6607
6493
|
name: "IdmAlertZone",
|
|
6608
6494
|
props: {
|
|
6609
6495
|
map: {
|
|
@@ -6733,10 +6619,10 @@ const Rr = {
|
|
|
6733
6619
|
this.map.getLayer(this.polygonLayer) && this.map.removeLayer(this.polygonLayer), this.map.getLayer(this.polygonLayer + "-border") && this.map.removeLayer(this.polygonLayer + "-border"), this.map.getLayer(this.polygonLabelLayer) && this.map.removeLayer(this.polygonLabelLayer), this.map.getLayer(this.lineLayer) && this.map.removeLayer(this.lineLayer), this.map.getLayer(this.lineLabelLayer) && this.map.removeLayer(this.lineLabelLayer), this.map.getLayer(this.pointLayer) && this.map.removeLayer(this.pointLayer), this.map.getSource(this.source) && this.map.removeSource(this.source);
|
|
6734
6620
|
}
|
|
6735
6621
|
}
|
|
6736
|
-
},
|
|
6737
|
-
function
|
|
6622
|
+
}, Or = { id: "idm-gl3-zone-info" }, Nr = ["innerHTML"];
|
|
6623
|
+
function jr(t, e, a, r, i, o) {
|
|
6738
6624
|
var l;
|
|
6739
|
-
return
|
|
6625
|
+
return ye((m(), g("div", Or, [
|
|
6740
6626
|
s("div", {
|
|
6741
6627
|
class: "iconfont close",
|
|
6742
6628
|
onClick: e[0] || (e[0] = (c) => i.showZone = !1)
|
|
@@ -6744,13 +6630,13 @@ function Wr(t, e, a, r, i, o) {
|
|
|
6744
6630
|
s("div", {
|
|
6745
6631
|
class: "rich-context",
|
|
6746
6632
|
innerHTML: (l = i.form) == null ? void 0 : l.name
|
|
6747
|
-
}, null, 8,
|
|
6633
|
+
}, null, 8, Nr)
|
|
6748
6634
|
], 512)), [
|
|
6749
|
-
[
|
|
6635
|
+
[we, i.showZone]
|
|
6750
6636
|
]);
|
|
6751
6637
|
}
|
|
6752
|
-
const
|
|
6753
|
-
const
|
|
6638
|
+
const Rr = /* @__PURE__ */ S(Hr, [["render", jr]]);
|
|
6639
|
+
const Fr = {
|
|
6754
6640
|
name: "IdmPort",
|
|
6755
6641
|
props: {
|
|
6756
6642
|
map: {
|
|
@@ -6779,12 +6665,12 @@ const Yr = {
|
|
|
6779
6665
|
computed: {
|
|
6780
6666
|
computeLat() {
|
|
6781
6667
|
return function(t) {
|
|
6782
|
-
return
|
|
6668
|
+
return X.lat2pretty(t, 4).pretty;
|
|
6783
6669
|
};
|
|
6784
6670
|
},
|
|
6785
6671
|
computeLng() {
|
|
6786
6672
|
return function(t) {
|
|
6787
|
-
return
|
|
6673
|
+
return X.lng2pretty(t, 4).pretty;
|
|
6788
6674
|
};
|
|
6789
6675
|
}
|
|
6790
6676
|
},
|
|
@@ -6845,47 +6731,47 @@ const Yr = {
|
|
|
6845
6731
|
t.forecastModel = this.forecastModel, this.$emit("meteoMore", t);
|
|
6846
6732
|
}
|
|
6847
6733
|
}
|
|
6848
|
-
},
|
|
6734
|
+
}, Gr = {
|
|
6849
6735
|
ref: "idmPortInfo",
|
|
6850
6736
|
id: "port-info"
|
|
6851
|
-
},
|
|
6737
|
+
}, Wr = { class: "port-box" }, Ur = { class: "flex-start" }, Yr = { class: "flex-start" }, Kr = { class: "flex-start" }, Xr = {
|
|
6852
6738
|
class: "flex-start",
|
|
6853
6739
|
style: { "align-items": "flex-start" }
|
|
6854
|
-
},
|
|
6855
|
-
function
|
|
6856
|
-
return
|
|
6740
|
+
}, Jr = { class: "meteo-forecast flex-end" };
|
|
6741
|
+
function qr(t, e, a, r, i, o) {
|
|
6742
|
+
return ye((m(), g("div", Gr, [
|
|
6857
6743
|
s("div", {
|
|
6858
6744
|
class: "close iconfont",
|
|
6859
6745
|
onClick: e[0] || (e[0] = (l) => i.showPort = !1)
|
|
6860
6746
|
}, ""),
|
|
6861
|
-
s("div",
|
|
6862
|
-
s("div",
|
|
6747
|
+
s("div", Wr, [
|
|
6748
|
+
s("div", Ur, [
|
|
6863
6749
|
e[2] || (e[2] = s("label", null, "Name : ", -1)),
|
|
6864
6750
|
s("span", null, I(i.form.name), 1)
|
|
6865
6751
|
]),
|
|
6866
|
-
s("div",
|
|
6752
|
+
s("div", Yr, [
|
|
6867
6753
|
e[3] || (e[3] = s("label", null, "Position : ", -1)),
|
|
6868
6754
|
s("span", null, I(o.computeLat(i.form.lat)) + ", " + I(o.computeLng(i.form.lng)), 1)
|
|
6869
6755
|
]),
|
|
6870
|
-
s("div",
|
|
6756
|
+
s("div", Kr, [
|
|
6871
6757
|
e[4] || (e[4] = s("label", null, "LoCode : ", -1)),
|
|
6872
6758
|
s("span", null, I(i.form.loCode || "-"), 1)
|
|
6873
6759
|
]),
|
|
6874
|
-
s("div",
|
|
6760
|
+
s("div", Xr, [
|
|
6875
6761
|
e[5] || (e[5] = s("label", null, "Region : ", -1)),
|
|
6876
6762
|
s("span", null, I(i.form.zoneName || "-"), 1)
|
|
6877
6763
|
]),
|
|
6878
|
-
s("div",
|
|
6764
|
+
s("div", Jr, [
|
|
6879
6765
|
s("span", {
|
|
6880
6766
|
onClick: e[1] || (e[1] = (l) => o.handleClickMeteo(i.form))
|
|
6881
6767
|
}, "Meteo Forecast")
|
|
6882
6768
|
])
|
|
6883
6769
|
])
|
|
6884
6770
|
], 512)), [
|
|
6885
|
-
[
|
|
6771
|
+
[we, i.showPort]
|
|
6886
6772
|
]);
|
|
6887
6773
|
}
|
|
6888
|
-
const
|
|
6774
|
+
const Vr = /* @__PURE__ */ S(Fr, [["render", qr], ["__scopeId", "data-v-2fc5fc5e"]]), Zr = {
|
|
6889
6775
|
name: "IdmLoadLine",
|
|
6890
6776
|
props: {
|
|
6891
6777
|
map: {
|
|
@@ -6955,10 +6841,10 @@ const to = /* @__PURE__ */ T(Yr, [["render", eo], ["__scopeId", "data-v-2fc5fc5e
|
|
|
6955
6841
|
}
|
|
6956
6842
|
}
|
|
6957
6843
|
};
|
|
6958
|
-
function
|
|
6959
|
-
return
|
|
6844
|
+
function $r(t, e, a, r, i, o) {
|
|
6845
|
+
return m(), g("div");
|
|
6960
6846
|
}
|
|
6961
|
-
const
|
|
6847
|
+
const eo = /* @__PURE__ */ S(Zr, [["render", $r]]), to = {
|
|
6962
6848
|
name: "IdmTimezone",
|
|
6963
6849
|
props: {
|
|
6964
6850
|
map: {
|
|
@@ -7123,10 +7009,10 @@ const ro = /* @__PURE__ */ T(ao, [["render", io]]), oo = {
|
|
|
7123
7009
|
}
|
|
7124
7010
|
}
|
|
7125
7011
|
};
|
|
7126
|
-
function
|
|
7127
|
-
return
|
|
7012
|
+
function ao(t, e, a, r, i, o) {
|
|
7013
|
+
return m(), g("div");
|
|
7128
7014
|
}
|
|
7129
|
-
const
|
|
7015
|
+
const io = /* @__PURE__ */ S(to, [["render", ao]]), ro = {
|
|
7130
7016
|
name: "IdmVoluntaryReportingArea",
|
|
7131
7017
|
props: {
|
|
7132
7018
|
map: {
|
|
@@ -7214,10 +7100,10 @@ const no = /* @__PURE__ */ T(oo, [["render", so]]), lo = {
|
|
|
7214
7100
|
}
|
|
7215
7101
|
}
|
|
7216
7102
|
};
|
|
7217
|
-
function
|
|
7218
|
-
return
|
|
7103
|
+
function oo(t, e, a, r, i, o) {
|
|
7104
|
+
return m(), g("div");
|
|
7219
7105
|
}
|
|
7220
|
-
const
|
|
7106
|
+
const so = /* @__PURE__ */ S(ro, [["render", oo]]), no = {
|
|
7221
7107
|
name: "IdmSpecialArea",
|
|
7222
7108
|
props: {
|
|
7223
7109
|
map: {
|
|
@@ -7247,7 +7133,7 @@ const ho = /* @__PURE__ */ T(lo, [["render", co]]), po = {
|
|
|
7247
7133
|
methods: {
|
|
7248
7134
|
handleRender() {
|
|
7249
7135
|
this.map ? (this.handleClear(), this.area && (this.area.features.forEach((t) => {
|
|
7250
|
-
t.geometry.type === "Polygon" && t.geometry.coordinates.forEach((e) =>
|
|
7136
|
+
t.geometry.type === "Polygon" && t.geometry.coordinates.forEach((e) => X.convertToMonotonicLng2(e));
|
|
7251
7137
|
}), this.map.addSource(this.source, {
|
|
7252
7138
|
type: "geojson",
|
|
7253
7139
|
data: this.area
|
|
@@ -7307,10 +7193,10 @@ const ho = /* @__PURE__ */ T(lo, [["render", co]]), po = {
|
|
|
7307
7193
|
}
|
|
7308
7194
|
}
|
|
7309
7195
|
};
|
|
7310
|
-
function
|
|
7311
|
-
return
|
|
7196
|
+
function lo(t, e, a, r, i, o) {
|
|
7197
|
+
return m(), g("div");
|
|
7312
7198
|
}
|
|
7313
|
-
const
|
|
7199
|
+
const co = /* @__PURE__ */ S(no, [["render", lo]]), ho = {
|
|
7314
7200
|
name: "IdmTerminator",
|
|
7315
7201
|
props: {
|
|
7316
7202
|
map: {
|
|
@@ -7359,11 +7245,11 @@ const mo = /* @__PURE__ */ T(po, [["render", uo]]), go = {
|
|
|
7359
7245
|
}
|
|
7360
7246
|
}
|
|
7361
7247
|
};
|
|
7362
|
-
function
|
|
7363
|
-
return
|
|
7248
|
+
function po(t, e, a, r, i, o) {
|
|
7249
|
+
return m(), g("div");
|
|
7364
7250
|
}
|
|
7365
|
-
const
|
|
7366
|
-
const
|
|
7251
|
+
const uo = /* @__PURE__ */ S(ho, [["render", po]]);
|
|
7252
|
+
const mo = {
|
|
7367
7253
|
name: "IdmLatLng",
|
|
7368
7254
|
props: {
|
|
7369
7255
|
map: {
|
|
@@ -7421,7 +7307,7 @@ const yo = {
|
|
|
7421
7307
|
this.show ? ((t = this.map) == null || t.on("zoomend", this.handleZoomEnd), this.handleRender()) : (this.handleClear(), (e = this.map) == null || e.off("zoomend", this.handleZoomEnd));
|
|
7422
7308
|
},
|
|
7423
7309
|
handleMouseMove(t) {
|
|
7424
|
-
const e = t.lngLat, a =
|
|
7310
|
+
const e = t.lngLat, a = X.lng2pretty(e.lng, 2), r = X.lat2pretty(e.lat, 2);
|
|
7425
7311
|
this.lngLat = { lng: a, lat: r };
|
|
7426
7312
|
},
|
|
7427
7313
|
handleComputeLatLngs() {
|
|
@@ -7470,7 +7356,7 @@ const yo = {
|
|
|
7470
7356
|
handleZoomEnd() {
|
|
7471
7357
|
var e;
|
|
7472
7358
|
const t = this.handleComputeLatLngs();
|
|
7473
|
-
(e = this.map) == null || e.getSource(this.source).setData(
|
|
7359
|
+
(e = this.map) == null || e.getSource(this.source).setData(k.featureCollection(t));
|
|
7474
7360
|
},
|
|
7475
7361
|
handleRender() {
|
|
7476
7362
|
if (this.map) {
|
|
@@ -7519,18 +7405,18 @@ const yo = {
|
|
|
7519
7405
|
}
|
|
7520
7406
|
}
|
|
7521
7407
|
};
|
|
7522
|
-
function
|
|
7523
|
-
return i.lngLat ? (
|
|
7408
|
+
function go(t, e, a, r, i, o) {
|
|
7409
|
+
return i.lngLat ? (m(), g("div", {
|
|
7524
7410
|
key: 0,
|
|
7525
7411
|
class: "lat-lng-tip",
|
|
7526
|
-
style:
|
|
7412
|
+
style: V({ right: i.right + "px", bottom: a.bottom })
|
|
7527
7413
|
}, [
|
|
7528
7414
|
s("span", null, I(i.lngLat.lat.pretty), 1),
|
|
7529
7415
|
e[0] || (e[0] = s("span", null, ", ", -1)),
|
|
7530
7416
|
s("span", null, I(i.lngLat.lng.pretty), 1)
|
|
7531
|
-
], 4)) :
|
|
7417
|
+
], 4)) : j("", !0);
|
|
7532
7418
|
}
|
|
7533
|
-
const ct = /* @__PURE__ */
|
|
7419
|
+
const ct = /* @__PURE__ */ S(mo, [["render", go], ["__scopeId", "data-v-ad66a24c"]]), Ao = {
|
|
7534
7420
|
name: "IdmMeasure",
|
|
7535
7421
|
props: {
|
|
7536
7422
|
map: {
|
|
@@ -7565,7 +7451,7 @@ const ct = /* @__PURE__ */ T(yo, [["render", wo], ["__scopeId", "data-v-ad66a24c
|
|
|
7565
7451
|
else {
|
|
7566
7452
|
(t = this.map) == null || t.getCanvas().removeEventListener("keydown", this.handleKeydown), (e = this.map) == null || e.off("mousemove", this.handleMove), (a = this.map) == null || a.off("dblclick", this.handleDblClick), this.map && (this.map.getCanvas().style.cursor = "grab");
|
|
7567
7453
|
let r = this.geojson.find((i) => !i.closed);
|
|
7568
|
-
r && this.handleClear(r, !0), this.geojson = this.geojson.filter((i) => !!i.closed), r =
|
|
7454
|
+
r && this.handleClear(r, !0), this.geojson = this.geojson.filter((i) => !!i.closed), r = k.featureCollection([], { id: (/* @__PURE__ */ new Date()).getTime().toString() }), this.geojson.push(r);
|
|
7569
7455
|
}
|
|
7570
7456
|
},
|
|
7571
7457
|
immediate: !0
|
|
@@ -7596,41 +7482,41 @@ const ct = /* @__PURE__ */ T(yo, [["render", wo], ["__scopeId", "data-v-ad66a24c
|
|
|
7596
7482
|
}
|
|
7597
7483
|
},
|
|
7598
7484
|
handleDrag(t) {
|
|
7599
|
-
var a, r, i, o, l, c, h,
|
|
7485
|
+
var a, r, i, o, l, c, h, p, n, d;
|
|
7600
7486
|
const e = (r = (a = t.target) == null ? void 0 : a._element) == null ? void 0 : r.id;
|
|
7601
7487
|
if ((e == null ? void 0 : e.split("-").length) === 2) {
|
|
7602
|
-
const w = this.geojson.filter((
|
|
7603
|
-
this.pointMarkers[w.id].filter((
|
|
7604
|
-
var
|
|
7605
|
-
return ((
|
|
7488
|
+
const w = this.geojson.filter((v) => v.id === e.split("-")[0])[0];
|
|
7489
|
+
this.pointMarkers[w.id].filter((v) => {
|
|
7490
|
+
var f;
|
|
7491
|
+
return ((f = v._element) == null ? void 0 : f.id) === e;
|
|
7606
7492
|
})[0].setLngLat([(o = (i = t.target) == null ? void 0 : i._lngLat) == null ? void 0 : o.lng, (c = (l = t.target) == null ? void 0 : l._lngLat) == null ? void 0 : c.lat]);
|
|
7607
|
-
let
|
|
7608
|
-
w.features.forEach((
|
|
7609
|
-
if (
|
|
7610
|
-
|
|
7493
|
+
let A;
|
|
7494
|
+
w.features.forEach((v, f) => {
|
|
7495
|
+
if (v.geometry.type === "Point" && v.properties.id == e.split("-")[1]) {
|
|
7496
|
+
A = f;
|
|
7611
7497
|
return;
|
|
7612
7498
|
}
|
|
7613
7499
|
});
|
|
7614
|
-
const
|
|
7500
|
+
const E = w.features.filter((v) => v.geometry.type === "Point");
|
|
7615
7501
|
this.handleTmpPointUpdate(
|
|
7616
7502
|
w,
|
|
7617
|
-
|
|
7618
|
-
{ lng: (
|
|
7619
|
-
|
|
7503
|
+
E[A - 1],
|
|
7504
|
+
{ lng: (p = (h = t.target) == null ? void 0 : h._lngLat) == null ? void 0 : p.lng, lat: (d = (n = t.target) == null ? void 0 : n._lngLat) == null ? void 0 : d.lat, properties: E[A].properties },
|
|
7505
|
+
A === E.length - 1 ? void 0 : E[A + 1]
|
|
7620
7506
|
);
|
|
7621
7507
|
}
|
|
7622
7508
|
},
|
|
7623
7509
|
handleDragEnd(t) {
|
|
7624
|
-
var a, r, i, o, l, c, h,
|
|
7510
|
+
var a, r, i, o, l, c, h, p, n, d;
|
|
7625
7511
|
const e = (r = (a = t.target) == null ? void 0 : a._element) == null ? void 0 : r.id;
|
|
7626
7512
|
if ((e == null ? void 0 : e.split("-").length) === 2) {
|
|
7627
|
-
const w = this.geojson.filter((
|
|
7628
|
-
this.pointMarkers[w.id].filter((
|
|
7629
|
-
var
|
|
7630
|
-
return ((
|
|
7513
|
+
const w = this.geojson.filter((E) => E.id === e.split("-")[0])[0];
|
|
7514
|
+
this.pointMarkers[w.id].filter((E) => {
|
|
7515
|
+
var v;
|
|
7516
|
+
return ((v = E._element) == null ? void 0 : v.id) === e;
|
|
7631
7517
|
})[0].setLngLat([(o = (i = t.target) == null ? void 0 : i._lngLat) == null ? void 0 : o.lng, (c = (l = t.target) == null ? void 0 : l._lngLat) == null ? void 0 : c.lat]);
|
|
7632
|
-
const
|
|
7633
|
-
|
|
7518
|
+
const A = w.features.filter((E) => E.geometry.type === "Point" && E.properties.id == e.split("-")[1])[0];
|
|
7519
|
+
A.geometry.coordinates = [(p = (h = t.target) == null ? void 0 : h._lngLat) == null ? void 0 : p.lng, (d = (n = t.target) == null ? void 0 : n._lngLat) == null ? void 0 : d.lat], w.features = w.features.filter((E) => E.geometry.type === "Point"), this.handlePointUpdate(w);
|
|
7634
7520
|
}
|
|
7635
7521
|
},
|
|
7636
7522
|
handleContextmenu(t) {
|
|
@@ -7639,9 +7525,9 @@ const ct = /* @__PURE__ */ T(yo, [["render", wo], ["__scopeId", "data-v-ad66a24c
|
|
|
7639
7525
|
const e = (o = (i = (r = t.originalEvent) == null ? void 0 : r.target) == null ? void 0 : i.parentElement) == null ? void 0 : o.id;
|
|
7640
7526
|
if ((e == null ? void 0 : e.split("-").length) === 2) {
|
|
7641
7527
|
const c = this.geojson.filter((h) => h.id === e.split("-")[0])[0].features.filter((h) => h.geometry.type === "Point");
|
|
7642
|
-
if (c.length > 2 && c.filter((
|
|
7643
|
-
const
|
|
7644
|
-
|
|
7528
|
+
if (c.length > 2 && c.filter((p) => p.properties.id === (e == null ? void 0 : e.split("-")[1]))[0]) {
|
|
7529
|
+
const p = document.createElement("div");
|
|
7530
|
+
p.className = "point-contextmenu-marker", p.innerHTML = `<span id="del-${e}" class="del-point">Del</span>`, this.contextmenu = new ve.Marker(p).setOffset([24, 0]).setLngLat([t.lngLat.lng, t.lngLat.lat]).addTo(this.map);
|
|
7645
7531
|
}
|
|
7646
7532
|
}
|
|
7647
7533
|
},
|
|
@@ -7650,15 +7536,15 @@ const ct = /* @__PURE__ */ T(yo, [["render", wo], ["__scopeId", "data-v-ad66a24c
|
|
|
7650
7536
|
(a = this.contextmenu) == null || a.remove();
|
|
7651
7537
|
const e = t.originalEvent.target.className;
|
|
7652
7538
|
if (e === "marker-close") {
|
|
7653
|
-
const h = (i = (r = t.originalEvent) == null ? void 0 : r.srcElement) == null ? void 0 : i.id,
|
|
7654
|
-
|
|
7539
|
+
const h = (i = (r = t.originalEvent) == null ? void 0 : r.srcElement) == null ? void 0 : i.id, p = this.geojson.filter((n) => n.id === h)[0];
|
|
7540
|
+
p && this.handleClear(p, !0), this.geojson = this.geojson.filter((n) => n.id !== h), !this.show && !((o = this.geojson) != null && o.some((n) => n.closed)) && this.handleUnbind();
|
|
7655
7541
|
} else if (e === "del-point") {
|
|
7656
|
-
const h = (c = (l = t.originalEvent.target.id) == null ? void 0 : l.replace("del-", "")) == null ? void 0 : c.split("-"),
|
|
7657
|
-
|
|
7542
|
+
const h = (c = (l = t.originalEvent.target.id) == null ? void 0 : l.replace("del-", "")) == null ? void 0 : c.split("-"), p = this.geojson.filter((n) => n.id === h[0])[0];
|
|
7543
|
+
p.features = p.features.filter((n) => n.geometry.type === "Point" && n.properties.id !== h[1]), this.handlePointUpdate(p);
|
|
7658
7544
|
} else if (e !== "marker-label" && this.show) {
|
|
7659
7545
|
let h = this.geojson.at(-1);
|
|
7660
|
-
h || (h =
|
|
7661
|
-
const
|
|
7546
|
+
h || (h = k.featureCollection([], { id: (/* @__PURE__ */ new Date()).getTime().toString() }), this.geojson.push(h)), h.features = h.features.filter((n) => n.geometry.type === "Point");
|
|
7547
|
+
const p = k.feature(
|
|
7662
7548
|
{
|
|
7663
7549
|
type: "Point",
|
|
7664
7550
|
coordinates: [t.lngLat.lng, t.lngLat.lat]
|
|
@@ -7668,7 +7554,7 @@ const ct = /* @__PURE__ */ T(yo, [["render", wo], ["__scopeId", "data-v-ad66a24c
|
|
|
7668
7554
|
mode: this.navigation
|
|
7669
7555
|
}
|
|
7670
7556
|
);
|
|
7671
|
-
h.features.push(
|
|
7557
|
+
h.features.push(p), this.handlePointUpdate(h);
|
|
7672
7558
|
}
|
|
7673
7559
|
},
|
|
7674
7560
|
handlePointUpdate(t) {
|
|
@@ -7677,11 +7563,11 @@ const ct = /* @__PURE__ */ T(yo, [["render", wo], ["__scopeId", "data-v-ad66a24c
|
|
|
7677
7563
|
let a = 0;
|
|
7678
7564
|
const r = [];
|
|
7679
7565
|
for (let i = 1; i < e.length; i++) {
|
|
7680
|
-
const o = e[i - 1], l = e[i], c = o.properties, h = { lng: o.geometry.coordinates[0], lat: o.geometry.coordinates[1] },
|
|
7681
|
-
a =
|
|
7566
|
+
const o = e[i - 1], l = e[i], c = o.properties, h = { lng: o.geometry.coordinates[0], lat: o.geometry.coordinates[1] }, p = { lng: l.geometry.coordinates[0], lat: l.geometry.coordinates[1] }, n = be.calculateDistance(h, p, c.mode === "RL", 2), d = be.calculateBearing(h, p, c.mode === "RL", 2);
|
|
7567
|
+
a = X.roundPrecision(a + n, 2);
|
|
7682
7568
|
let w;
|
|
7683
|
-
c.mode === "RL" ? w =
|
|
7684
|
-
const b =
|
|
7569
|
+
c.mode === "RL" ? w = X.convertToMonotonicLng([h, p]) : w = X.convertToMonotonicLng(be.interpolateCoordinates(h, p, 200));
|
|
7570
|
+
const b = k.lineString(w.map((A) => [A.lng, A.lat]));
|
|
7685
7571
|
b.properties.dist = n, b.properties.bearing = d, b.properties.total = a, r.push(b);
|
|
7686
7572
|
}
|
|
7687
7573
|
e.push(...r), t.total = a;
|
|
@@ -7689,22 +7575,22 @@ const ct = /* @__PURE__ */ T(yo, [["render", wo], ["__scopeId", "data-v-ad66a24c
|
|
|
7689
7575
|
return this.handleRender(t), t;
|
|
7690
7576
|
},
|
|
7691
7577
|
handleTmpPointUpdate(t, e, a, r) {
|
|
7692
|
-
const i =
|
|
7578
|
+
const i = k.featureCollection([]);
|
|
7693
7579
|
let o, l;
|
|
7694
7580
|
if (e) {
|
|
7695
|
-
const h = e.properties,
|
|
7696
|
-
o = be.calculateDistance(
|
|
7581
|
+
const h = e.properties, p = { lng: e.geometry.coordinates[0], lat: e.geometry.coordinates[1] }, n = { lng: a.lng, lat: a.lat };
|
|
7582
|
+
o = be.calculateDistance(p, n, h.mode === "RL", 2), l = be.calculateBearing(p, n, h.mode === "RL", 2);
|
|
7697
7583
|
let d;
|
|
7698
|
-
h.mode === "RL" ? d =
|
|
7699
|
-
const w =
|
|
7584
|
+
h.mode === "RL" ? d = X.convertToMonotonicLng([p, n]) : d = X.convertToMonotonicLng(be.interpolateCoordinates(p, n, 200));
|
|
7585
|
+
const w = k.lineString(d.map((b) => [b.lng, b.lat]));
|
|
7700
7586
|
w.properties.dist = o, w.properties.bearing = l, i.features.push(w);
|
|
7701
7587
|
}
|
|
7702
7588
|
if (r) {
|
|
7703
|
-
const h = a.properties,
|
|
7704
|
-
o = be.calculateDistance(
|
|
7589
|
+
const h = a.properties, p = a, n = { lng: r.geometry.coordinates[0], lat: r.geometry.coordinates[1] };
|
|
7590
|
+
o = be.calculateDistance(p, n, h.mode === "RL", 2), l = be.calculateBearing(p, n, h.mode === "RL", 2);
|
|
7705
7591
|
let d;
|
|
7706
|
-
h.mode === "RL" ? d =
|
|
7707
|
-
const w =
|
|
7592
|
+
h.mode === "RL" ? d = X.convertToMonotonicLng([p, n]) : d = X.convertToMonotonicLng(be.interpolateCoordinates(p, n, 200));
|
|
7593
|
+
const w = k.lineString(d.map((b) => [b.lng, b.lat]));
|
|
7708
7594
|
w.properties.dist = o, w.properties.bearing = l, i.features.push(w);
|
|
7709
7595
|
}
|
|
7710
7596
|
this.map.getSource(this.tmpSource) ? this.map.getSource(this.tmpSource).setData(i) : this.map.addSource(this.tmpSource, {
|
|
@@ -7745,7 +7631,7 @@ const ct = /* @__PURE__ */ T(yo, [["render", wo], ["__scopeId", "data-v-ad66a24c
|
|
|
7745
7631
|
}
|
|
7746
7632
|
});
|
|
7747
7633
|
let c;
|
|
7748
|
-
if (r ? c = '<div class="marker-label">Drag and drop</div>' : c = `<div class="marker-label">Total distance: <b>${
|
|
7634
|
+
if (r ? c = '<div class="marker-label">Drag and drop</div>' : c = `<div class="marker-label">Total distance: <b>${X.roundPrecision((t.total ?? 0) + o, 2)}</b>nm, bearing: <b>${l}</b>°</div><div class="marker-label">${this.navigation === "RL" ? "RL" : "GC"} mode, using 'Shift' to switch</div><div class="marker-label">Double click to end</div>`, this.tipMarker)
|
|
7749
7635
|
this.tipMarker._element.innerHTML = c, this.tipMarker.setLngLat([a.lng, a.lat]);
|
|
7750
7636
|
else {
|
|
7751
7637
|
const h = document.createElement("div");
|
|
@@ -7755,14 +7641,14 @@ const ct = /* @__PURE__ */ T(yo, [["render", wo], ["__scopeId", "data-v-ad66a24c
|
|
|
7755
7641
|
handleMove(t) {
|
|
7756
7642
|
this.map.getCanvas().style.cursor = "crosshair";
|
|
7757
7643
|
let e = this.geojson.at(-1);
|
|
7758
|
-
e || (e =
|
|
7644
|
+
e || (e = k.featureCollection([], { id: (/* @__PURE__ */ new Date()).getTime().toString() }), this.geojson.push(e));
|
|
7759
7645
|
const a = e.features.filter((r) => r.geometry.type === "Point");
|
|
7760
7646
|
a != null && a.length && this.handleTmpPointUpdate(e, a.at(-1), { lng: t.lngLat.lng, lat: t.lngLat.lat });
|
|
7761
7647
|
},
|
|
7762
7648
|
handleDblClick(t) {
|
|
7763
7649
|
t.preventDefault();
|
|
7764
7650
|
let e = this.geojson.at(-1);
|
|
7765
|
-
e.closed = !0, this.handleRender(e), e =
|
|
7651
|
+
e.closed = !0, this.handleRender(e), e = k.featureCollection([], { id: (/* @__PURE__ */ new Date()).getTime().toString() }), this.geojson.push(e);
|
|
7766
7652
|
},
|
|
7767
7653
|
handleRender(t) {
|
|
7768
7654
|
var e;
|
|
@@ -7811,25 +7697,25 @@ const ct = /* @__PURE__ */ T(yo, [["render", wo], ["__scopeId", "data-v-ad66a24c
|
|
|
7811
7697
|
h.on("drag", this.handleDrag), h.on("dragend", this.handleDragEnd), this.pointMarkers[t.id] ? this.pointMarkers[t.id].push(h) : this.pointMarkers[t.id] = [h];
|
|
7812
7698
|
}
|
|
7813
7699
|
if (t.closed) {
|
|
7814
|
-
const l = o.at(-1), h = t.features.filter((n) => n.geometry.type === "LineString").at(-1),
|
|
7815
|
-
|
|
7700
|
+
const l = o.at(-1), h = t.features.filter((n) => n.geometry.type === "LineString").at(-1), p = document.createElement("div");
|
|
7701
|
+
p.className = "point-summary-marker", p.innerHTML = `<div id="${t.id}" class="marker-close">×</div><div class="marker-label">Tol: ${h.properties.total}nm</div>`, this.closeMarkers[t.id] = new ve.Marker(p).setOffset([60, 0]).setLngLat(l.geometry.coordinates).addTo(this.map);
|
|
7816
7702
|
}
|
|
7817
7703
|
}
|
|
7818
7704
|
},
|
|
7819
7705
|
handleClear(t, e = !0) {
|
|
7820
|
-
var o, l, c, h,
|
|
7706
|
+
var o, l, c, h, p, n, d, w, b;
|
|
7821
7707
|
const a = `${t.id}-${this.source}`, r = `${t.id}-${this.layer}`, i = `${t.id}-${this.labelLayer}`;
|
|
7822
|
-
(o = this.map) != null && o.getLayer(r) && this.map.removeLayer(r), (l = this.map) != null && l.getLayer(i) && this.map.removeLayer(i), (c = this.map) != null && c.getLayer(this.tmpLayer) && this.map.removeLayer(this.tmpLayer), (h = this.map) != null && h.getLayer(this.tmpLabelLayer) && this.map.removeLayer(this.tmpLabelLayer), (
|
|
7823
|
-
|
|
7708
|
+
(o = this.map) != null && o.getLayer(r) && this.map.removeLayer(r), (l = this.map) != null && l.getLayer(i) && this.map.removeLayer(i), (c = this.map) != null && c.getLayer(this.tmpLayer) && this.map.removeLayer(this.tmpLayer), (h = this.map) != null && h.getLayer(this.tmpLabelLayer) && this.map.removeLayer(this.tmpLabelLayer), (p = this.closeMarkers[t.id]) == null || p.remove(), this.closeMarkers[t.id] = void 0, (n = this.pointMarkers[t.id]) == null || n.forEach((A) => {
|
|
7709
|
+
A == null || A.remove();
|
|
7824
7710
|
}), this.pointMarkers[t.id] = [], (d = this.tipMarker) == null || d.remove(), this.tipMarker = void 0, e && ((w = this.map) != null && w.getSource(a)) && this.map.removeSource(a), e && ((b = this.map) != null && b.getSource(this.tmpSource)) && this.map.removeSource(this.tmpSource);
|
|
7825
7711
|
}
|
|
7826
7712
|
}
|
|
7827
7713
|
};
|
|
7828
|
-
function
|
|
7829
|
-
return
|
|
7714
|
+
function fo(t, e, a, r, i, o) {
|
|
7715
|
+
return m(), g("div");
|
|
7830
7716
|
}
|
|
7831
|
-
const
|
|
7832
|
-
const
|
|
7717
|
+
const yo = /* @__PURE__ */ S(Ao, [["render", fo]]);
|
|
7718
|
+
const wo = {
|
|
7833
7719
|
name: "IdmENC",
|
|
7834
7720
|
props: {
|
|
7835
7721
|
map: {
|
|
@@ -7860,8 +7746,8 @@ const Co = {
|
|
|
7860
7746
|
emits: ["enc"],
|
|
7861
7747
|
data() {
|
|
7862
7748
|
return {
|
|
7863
|
-
helper:
|
|
7864
|
-
vendor: this.$attrs.permission &
|
|
7749
|
+
helper: Xe,
|
|
7750
|
+
vendor: this.$attrs.permission & Xe.LEVEL.Supper ? "hi" : "i4",
|
|
7865
7751
|
right: 10
|
|
7866
7752
|
};
|
|
7867
7753
|
},
|
|
@@ -7881,16 +7767,16 @@ const Co = {
|
|
|
7881
7767
|
}
|
|
7882
7768
|
},
|
|
7883
7769
|
methods: {}
|
|
7884
|
-
},
|
|
7885
|
-
function
|
|
7770
|
+
}, bo = { key: 0 }, vo = { class: "bar-item" };
|
|
7771
|
+
function Lo(t, e, a, r, i, o) {
|
|
7886
7772
|
const l = z("ElTooltip");
|
|
7887
|
-
return a.enabled && a.permission & i.helper.LEVEL.Supper ? (
|
|
7773
|
+
return a.enabled && a.permission & i.helper.LEVEL.Supper ? (m(), g("div", bo, [
|
|
7888
7774
|
s("div", {
|
|
7889
7775
|
class: "menu-bar-box",
|
|
7890
|
-
style:
|
|
7776
|
+
style: V({ position: "absolute", right: i.right + "px", bottom: a.bottom })
|
|
7891
7777
|
}, [
|
|
7892
|
-
s("div",
|
|
7893
|
-
|
|
7778
|
+
s("div", vo, [
|
|
7779
|
+
M(l, {
|
|
7894
7780
|
placement: "left",
|
|
7895
7781
|
effect: "light",
|
|
7896
7782
|
content: "Hifleet",
|
|
@@ -7898,7 +7784,7 @@ function Io(t, e, a, r, i, o) {
|
|
|
7898
7784
|
}, {
|
|
7899
7785
|
default: ae(() => [
|
|
7900
7786
|
s("div", {
|
|
7901
|
-
class:
|
|
7787
|
+
class: F(i.vendor === "hi" ? "menu-icon active" : "menu-icon"),
|
|
7902
7788
|
onClick: e[0] || (e[0] = (c) => i.vendor = "hi")
|
|
7903
7789
|
}, e[2] || (e[2] = [
|
|
7904
7790
|
s("span", { class: "iconfont" }, "HI", -1)
|
|
@@ -7906,7 +7792,7 @@ function Io(t, e, a, r, i, o) {
|
|
|
7906
7792
|
]),
|
|
7907
7793
|
_: 1
|
|
7908
7794
|
}),
|
|
7909
|
-
|
|
7795
|
+
M(l, {
|
|
7910
7796
|
placement: "left",
|
|
7911
7797
|
effect: "light",
|
|
7912
7798
|
content: "I4insight",
|
|
@@ -7914,7 +7800,7 @@ function Io(t, e, a, r, i, o) {
|
|
|
7914
7800
|
}, {
|
|
7915
7801
|
default: ae(() => [
|
|
7916
7802
|
s("div", {
|
|
7917
|
-
class:
|
|
7803
|
+
class: F(i.vendor === "i4" ? "menu-icon active" : "menu-icon"),
|
|
7918
7804
|
onClick: e[1] || (e[1] = (c) => i.vendor = "i4")
|
|
7919
7805
|
}, e[3] || (e[3] = [
|
|
7920
7806
|
s("span", { class: "iconfont" }, "I4", -1)
|
|
@@ -7924,9 +7810,9 @@ function Io(t, e, a, r, i, o) {
|
|
|
7924
7810
|
})
|
|
7925
7811
|
])
|
|
7926
7812
|
], 4)
|
|
7927
|
-
])) :
|
|
7813
|
+
])) : j("", !0);
|
|
7928
7814
|
}
|
|
7929
|
-
const
|
|
7815
|
+
const Co = /* @__PURE__ */ S(wo, [["render", Lo], ["__scopeId", "data-v-7301123d"]]), xo = {
|
|
7930
7816
|
name: "IdmWorld12nm",
|
|
7931
7817
|
props: {
|
|
7932
7818
|
map: {
|
|
@@ -7982,11 +7868,11 @@ const Eo = /* @__PURE__ */ T(Co, [["render", Io], ["__scopeId", "data-v-7301123d
|
|
|
7982
7868
|
}
|
|
7983
7869
|
}
|
|
7984
7870
|
};
|
|
7985
|
-
function
|
|
7871
|
+
function Bo(t, e, a, r, i, o) {
|
|
7986
7872
|
return null;
|
|
7987
7873
|
}
|
|
7988
|
-
const
|
|
7989
|
-
const
|
|
7874
|
+
const Io = /* @__PURE__ */ S(xo, [["render", Bo]]);
|
|
7875
|
+
const Eo = {
|
|
7990
7876
|
name: "IdmWorldMarine",
|
|
7991
7877
|
props: {
|
|
7992
7878
|
map: {
|
|
@@ -8023,10 +7909,10 @@ const Mo = {
|
|
|
8023
7909
|
}
|
|
8024
7910
|
}
|
|
8025
7911
|
};
|
|
8026
|
-
function
|
|
7912
|
+
function Do(t, e, a, r, i, o) {
|
|
8027
7913
|
return null;
|
|
8028
7914
|
}
|
|
8029
|
-
const
|
|
7915
|
+
const Po = /* @__PURE__ */ S(Eo, [["render", Do]]), ko = {
|
|
8030
7916
|
name: "IdmChinaRoute",
|
|
8031
7917
|
props: {
|
|
8032
7918
|
map: {
|
|
@@ -8064,11 +7950,11 @@ const To = /* @__PURE__ */ T(Mo, [["render", zo]]), Qo = {
|
|
|
8064
7950
|
}
|
|
8065
7951
|
}
|
|
8066
7952
|
};
|
|
8067
|
-
function
|
|
7953
|
+
function Mo(t, e, a, r, i, o) {
|
|
8068
7954
|
return null;
|
|
8069
7955
|
}
|
|
8070
|
-
const
|
|
8071
|
-
const
|
|
7956
|
+
const zo = /* @__PURE__ */ S(ko, [["render", Mo]]);
|
|
7957
|
+
const To = {
|
|
8072
7958
|
name: "IdmGLV2",
|
|
8073
7959
|
components: {
|
|
8074
7960
|
IdmGlLayer: ea,
|
|
@@ -8086,24 +7972,23 @@ const Ho = {
|
|
|
8086
7972
|
IdmVisibility: ii,
|
|
8087
7973
|
IdmWaterTemp: ni,
|
|
8088
7974
|
IdmTemp: di,
|
|
8089
|
-
|
|
8090
|
-
|
|
8091
|
-
|
|
8092
|
-
|
|
8093
|
-
|
|
8094
|
-
|
|
8095
|
-
|
|
8096
|
-
|
|
8097
|
-
|
|
8098
|
-
|
|
8099
|
-
IdmTerminator: fo,
|
|
7975
|
+
IdmWarZone: kr,
|
|
7976
|
+
IdmGmdssArea: Tr,
|
|
7977
|
+
IdmEcaZone: _r,
|
|
7978
|
+
IdmAlertZone: Rr,
|
|
7979
|
+
IdmPort: Vr,
|
|
7980
|
+
IdmLoadLine: eo,
|
|
7981
|
+
IdmTimezone: io,
|
|
7982
|
+
IdmVRA: so,
|
|
7983
|
+
IdmSpecialArea: co,
|
|
7984
|
+
IdmTerminator: uo,
|
|
8100
7985
|
IdmLatLng: ct,
|
|
8101
|
-
IdmMeasure:
|
|
8102
|
-
IdmPoint:
|
|
8103
|
-
IdmENC:
|
|
8104
|
-
IdmWorld12nm:
|
|
8105
|
-
IdmWorldMarine:
|
|
8106
|
-
IdmChinaRoute:
|
|
7986
|
+
IdmMeasure: yo,
|
|
7987
|
+
IdmPoint: Er,
|
|
7988
|
+
IdmENC: Co,
|
|
7989
|
+
IdmWorld12nm: Io,
|
|
7990
|
+
IdmWorldMarine: Po,
|
|
7991
|
+
IdmChinaRoute: zo
|
|
8107
7992
|
},
|
|
8108
7993
|
props: {
|
|
8109
7994
|
map: {
|
|
@@ -8162,7 +8047,7 @@ const Ho = {
|
|
|
8162
8047
|
watch: {
|
|
8163
8048
|
ts: {
|
|
8164
8049
|
handler(t, e) {
|
|
8165
|
-
t && e &&
|
|
8050
|
+
t && e && U(t).utc().format("yyyy-MM-DD HH") !== U(e).utc().format("yyyy-MM-DD HH") && this.$nextTick(() => {
|
|
8166
8051
|
this.handleDateChange({ tropicals: !1 });
|
|
8167
8052
|
});
|
|
8168
8053
|
},
|
|
@@ -8170,23 +8055,23 @@ const Ho = {
|
|
|
8170
8055
|
},
|
|
8171
8056
|
map: {
|
|
8172
8057
|
handler() {
|
|
8173
|
-
this.map && (this.map.on("
|
|
8058
|
+
this.map && (this.map.on("moveend", this.handleMove4Weather), this.viewport = new Je(this.map), this.handleRampColorInitial());
|
|
8174
8059
|
},
|
|
8175
8060
|
immediate: !0
|
|
8176
8061
|
},
|
|
8177
8062
|
enc: {
|
|
8178
8063
|
handler(t, e) {
|
|
8179
|
-
var a, r, i, o, l, c, h,
|
|
8180
|
-
t ? ((r = (a = this.map) == null ? void 0 : a.getLayer(t)) == null || r.setLayoutProperty("visibility", "visible"), (o = (i = this.map) == null ? void 0 : i.getLayer(e)) == null || o.setLayoutProperty("visibility", "none")) : ((c = (l = this.map) == null ? void 0 : l.getLayer("i4")) == null || c.setLayoutProperty("visibility", "none"), (
|
|
8064
|
+
var a, r, i, o, l, c, h, p;
|
|
8065
|
+
t ? ((r = (a = this.map) == null ? void 0 : a.getLayer(t)) == null || r.setLayoutProperty("visibility", "visible"), (o = (i = this.map) == null ? void 0 : i.getLayer(e)) == null || o.setLayoutProperty("visibility", "none")) : ((c = (l = this.map) == null ? void 0 : l.getLayer("i4")) == null || c.setLayoutProperty("visibility", "none"), (p = (h = this.map) == null ? void 0 : h.getLayer("hi")) == null || p.setLayoutProperty("visibility", "none"));
|
|
8181
8066
|
}
|
|
8182
8067
|
},
|
|
8183
8068
|
activeWeatherLayers: {
|
|
8184
8069
|
handler() {
|
|
8185
|
-
var a, r, i, o, l, c, h,
|
|
8070
|
+
var a, r, i, o, l, c, h, p, n, d, w, b, A, E, v, f, u;
|
|
8186
8071
|
if (!this.map)
|
|
8187
8072
|
return !1;
|
|
8188
|
-
const t = this.activeWeatherLayers.some((
|
|
8189
|
-
this.activeWeatherLayers.length > 0 ? (t ? (r = (a = this.map) == null ? void 0 : a.getLayer(this.enc)) == null || r.setLayoutProperty("visibility", "none") : (o = (i = this.map) == null ? void 0 : i.getLayer(this.enc)) == null || o.setLayoutProperty("visibility", "visible"), (c = (l = this.map) == null ? void 0 : l.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id)) == null || c.setLayoutProperty("visibility", "visible"), (
|
|
8073
|
+
const t = this.activeWeatherLayers.some((C) => C.key === "wind" && C.particle === !0 || C.key === "current" && C.particle === !0 || C.key === "ice-thickness" || C.key === "ice-cover" || C.key === "temp" || C.key === "water-temp"), e = this.activeWeatherLayers.some((C) => C.key === "visibility" || C.key === "precip3h");
|
|
8074
|
+
this.activeWeatherLayers.length > 0 ? (t ? (r = (a = this.map) == null ? void 0 : a.getLayer(this.enc)) == null || r.setLayoutProperty("visibility", "none") : (o = (i = this.map) == null ? void 0 : i.getLayer(this.enc)) == null || o.setLayoutProperty("visibility", "visible"), (c = (l = this.map) == null ? void 0 : l.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id)) == null || c.setLayoutProperty("visibility", "visible"), (p = this.map) != null && p.getLayer((h = this.viewport) == null ? void 0 : h.rampColorLayer) && ((n = this.map) != null && n.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id)) && this.mapProjection === "mercator" && ((w = this.map) == null || w.moveLayer((d = this.viewport) == null ? void 0 : d.rampColorLayer, this.helper.mapboxCustomer.layers.countryBoundary.id)), e && ((A = this.map) == null || A.moveLayer(this.helper.mapboxCustomer.layers.countryBoundary.id, (b = this.viewport) == null ? void 0 : b.rampColorLayer))) : ((v = (E = this.map) == null ? void 0 : E.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id)) == null || v.setLayoutProperty("visibility", "none"), (u = (f = this.map) == null ? void 0 : f.getLayer(this.enc)) == null || u.setLayoutProperty("visibility", "visible")), this.$emit("activeWeatherLayers", this.activeWeatherLayers);
|
|
8190
8075
|
},
|
|
8191
8076
|
immediate: !0
|
|
8192
8077
|
},
|
|
@@ -8238,89 +8123,89 @@ const Ho = {
|
|
|
8238
8123
|
},
|
|
8239
8124
|
methods: {
|
|
8240
8125
|
async fetchWeatherLayers(t = { tropicals: !1 }) {
|
|
8241
|
-
var i, o, l, c, h,
|
|
8126
|
+
var i, o, l, c, h, p, n, d, w;
|
|
8242
8127
|
const e = (/* @__PURE__ */ new Date()).valueOf();
|
|
8243
8128
|
let a = 0, r = 0;
|
|
8244
8129
|
if (this.map) {
|
|
8245
|
-
const b = ((i = this.map) == null ? void 0 : i.getZoom()) + 1,
|
|
8130
|
+
const b = ((i = this.map) == null ? void 0 : i.getZoom()) + 1, A = (o = this.map) == null ? void 0 : o.getBounds(), E = `${A._sw.lng},${A._sw.lat},${A._ne.lng},${A._ne.lat}`;
|
|
8246
8131
|
if (this.particleFactor && ((l = this.$refs.layer) != null && l.autoActive)) {
|
|
8247
|
-
const
|
|
8248
|
-
var
|
|
8249
|
-
return ((
|
|
8132
|
+
const v = Ke.WEATHER_LAYERS.find((f) => {
|
|
8133
|
+
var u;
|
|
8134
|
+
return ((u = f.peer) == null ? void 0 : u.weight) === this.particleFactor.weight;
|
|
8250
8135
|
});
|
|
8251
|
-
this.particleFactor.particle && (this.showWindParticle || this.showCurrentParticle) ? this.weatherWeight = this.weatherWeight &
|
|
8136
|
+
this.particleFactor.particle && (this.showWindParticle || this.showCurrentParticle) ? this.weatherWeight = this.weatherWeight & v.weight ? this.weatherWeight : this.weatherWeight + v.weight : this.weatherWeight = this.weatherWeight & v.weight ? this.weatherWeight - v.weight : this.weatherWeight;
|
|
8252
8137
|
}
|
|
8253
8138
|
if (this.weatherWeight > 0) {
|
|
8254
|
-
let
|
|
8255
|
-
if (t.tropicals || this.weatherWeight & 256 && (
|
|
8256
|
-
const
|
|
8139
|
+
let v = this.weatherWeight, f;
|
|
8140
|
+
if (t.tropicals || this.weatherWeight & 256 && (f = this.weatherLayers.tropicals, f && (v -= 256, f.version = Math.random() + 1)), v > 0) {
|
|
8141
|
+
const u = await le.get(`${this.gateway}/api/arc/weather/layers2/links?l=${v}&v=${this.source}&z=${b}&bbox=${E}&t=${this.ts}`, {
|
|
8257
8142
|
headers: {
|
|
8258
8143
|
Authorization: this.token || this.defaultMeteoToken
|
|
8259
8144
|
}
|
|
8260
8145
|
});
|
|
8261
|
-
if (r = (/* @__PURE__ */ new Date()).valueOf() - (e + a), console.log("weather links elapsed: ", r, ", total: ", a += r), ((c =
|
|
8262
|
-
const
|
|
8263
|
-
for (const
|
|
8264
|
-
|
|
8265
|
-
le.get(
|
|
8146
|
+
if (r = (/* @__PURE__ */ new Date()).valueOf() - (e + a), console.log("weather links elapsed: ", r, ", total: ", a += r), ((c = u == null ? void 0 : u.data) == null ? void 0 : c.code) === 0) {
|
|
8147
|
+
const C = (h = u == null ? void 0 : u.data) == null ? void 0 : h.data, y = [];
|
|
8148
|
+
for (const D in C)
|
|
8149
|
+
D === "ice-edge" && (C[D] = "https://idm-hz.oss-cn-hangzhou.aliyuncs.com/test/sea_ice_contours.geojson"), D !== "tropicals" && y.push(
|
|
8150
|
+
le.get(C[D], {
|
|
8266
8151
|
headers: {
|
|
8267
8152
|
Authorization: this.token || this.defaultMeteoToken,
|
|
8268
|
-
key:
|
|
8153
|
+
key: D
|
|
8269
8154
|
},
|
|
8270
|
-
responseType: /\.(jpg|png)$/.test(
|
|
8271
|
-
}).catch((
|
|
8272
|
-
console.log(`[${
|
|
8155
|
+
responseType: /\.(jpg|png)$/.test(C[D]) ? "blob" : "json"
|
|
8156
|
+
}).catch((T) => {
|
|
8157
|
+
console.log(`[${D}] fetch layer error: ${T}`);
|
|
8273
8158
|
})
|
|
8274
8159
|
);
|
|
8275
|
-
const
|
|
8276
|
-
this.weatherLayers = {},
|
|
8277
|
-
var
|
|
8278
|
-
const
|
|
8279
|
-
|
|
8280
|
-
raw:
|
|
8281
|
-
type: ((
|
|
8282
|
-
etime:
|
|
8160
|
+
const B = await Promise.all(y);
|
|
8161
|
+
this.weatherLayers = {}, B.map((D) => {
|
|
8162
|
+
var O, Q, Y, K;
|
|
8163
|
+
const T = ((O = D == null ? void 0 : D.data) == null ? void 0 : O.data) || (D == null ? void 0 : D.data), N = (Y = (Q = D == null ? void 0 : D.config) == null ? void 0 : Q.headers) == null ? void 0 : Y.key;
|
|
8164
|
+
N && T && (this.weatherLayers[N] = {
|
|
8165
|
+
raw: T,
|
|
8166
|
+
type: ((K = D == null ? void 0 : D.config) == null ? void 0 : K.responseType) === "blob" ? "image" : "json",
|
|
8167
|
+
etime: u.data.etime
|
|
8283
8168
|
});
|
|
8284
|
-
}),
|
|
8169
|
+
}), C.tropicals && le.get(C.tropicals, {
|
|
8285
8170
|
headers: {
|
|
8286
8171
|
Authorization: this.token || this.defaultMeteoToken,
|
|
8287
8172
|
key: "tropicals"
|
|
8288
8173
|
}
|
|
8289
|
-
}).then((
|
|
8290
|
-
var
|
|
8291
|
-
const
|
|
8292
|
-
this.weatherLayers[
|
|
8293
|
-
data:
|
|
8174
|
+
}).then((D) => {
|
|
8175
|
+
var O, Q, Y;
|
|
8176
|
+
const T = nt.convert2Geojson(((O = D == null ? void 0 : D.data) == null ? void 0 : O.data) || (D == null ? void 0 : D.data)), N = (Y = (Q = D == null ? void 0 : D.config) == null ? void 0 : Q.headers) == null ? void 0 : Y.key;
|
|
8177
|
+
this.weatherLayers[N] = {
|
|
8178
|
+
data: T,
|
|
8294
8179
|
active: !0,
|
|
8295
8180
|
cached: !1,
|
|
8296
8181
|
type: "json",
|
|
8297
|
-
etime:
|
|
8182
|
+
etime: u.data.etime,
|
|
8298
8183
|
version: Math.random() + 1
|
|
8299
8184
|
};
|
|
8300
8185
|
});
|
|
8301
8186
|
}
|
|
8302
8187
|
if (r = (/* @__PURE__ */ new Date()).valueOf() - (e + a), console.log("weather layers elapsed: ", r, ", total: ", a += r), this.weatherLayers["swell-direction"] || this.weatherLayers["swell-height"]) {
|
|
8303
|
-
const
|
|
8188
|
+
const C = (p = this.weatherLayers["swell-direction"]) == null ? void 0 : p.raw, y = (n = this.weatherLayers["swell-height"]) == null ? void 0 : n.raw;
|
|
8304
8189
|
delete this.weatherLayers["swell-direction"], delete this.weatherLayers["swell-height"], this.weatherLayers.swell = {
|
|
8305
8190
|
type: "json",
|
|
8306
|
-
direction:
|
|
8307
|
-
height: { raw:
|
|
8308
|
-
etime:
|
|
8191
|
+
direction: C,
|
|
8192
|
+
height: { raw: y },
|
|
8193
|
+
etime: u.data.etime
|
|
8309
8194
|
};
|
|
8310
8195
|
}
|
|
8311
8196
|
if (this.weatherLayers["current-direction"] || this.weatherLayers["current-speed"]) {
|
|
8312
|
-
const
|
|
8197
|
+
const C = (d = this.weatherLayers["current-direction"]) == null ? void 0 : d.raw, y = (w = this.weatherLayers["current-speed"]) == null ? void 0 : w.raw;
|
|
8313
8198
|
delete this.weatherLayers["current-direction"], delete this.weatherLayers["current-speed"], this.weatherLayers.current = {
|
|
8314
8199
|
type: "json",
|
|
8315
|
-
direction:
|
|
8316
|
-
speed: { raw:
|
|
8317
|
-
etime:
|
|
8200
|
+
direction: C,
|
|
8201
|
+
speed: { raw: y },
|
|
8202
|
+
etime: u.data.etime
|
|
8318
8203
|
};
|
|
8319
8204
|
}
|
|
8320
8205
|
}
|
|
8321
|
-
|
|
8206
|
+
f && (f.etime = this.ts, f.cached = !0, this.weatherLayers.tropicals = f);
|
|
8322
8207
|
}
|
|
8323
|
-
this.handleWeatherLayerToggle(), this.
|
|
8208
|
+
this.handleWeatherLayerToggle(), this.handleDrawWeather4Json();
|
|
8324
8209
|
}
|
|
8325
8210
|
this.$emit("toggleVersion", Math.random());
|
|
8326
8211
|
},
|
|
@@ -8329,8 +8214,8 @@ const Ho = {
|
|
|
8329
8214
|
if (this.map) {
|
|
8330
8215
|
let o = this.otherWeight;
|
|
8331
8216
|
if (o) {
|
|
8332
|
-
let l = !1, c = !1, h = !1,
|
|
8333
|
-
if (this.otherWeight & 2048 && (o = this.otherWeight - 2048, l = !0), this.otherWeight & 8192 && (o = o - 8192, c = !0), this.otherWeight & 16384 && (o = o - 16384, h = !0), this.otherWeight & 32768 && (o = o - 32768,
|
|
8217
|
+
let l = !1, c = !1, h = !1, p = !1;
|
|
8218
|
+
if (this.otherWeight & 2048 && (o = this.otherWeight - 2048, l = !0), this.otherWeight & 8192 && (o = o - 8192, c = !0), this.otherWeight & 16384 && (o = o - 16384, h = !0), this.otherWeight & 32768 && (o = o - 32768, p = !0), o) {
|
|
8334
8219
|
if (t.all) {
|
|
8335
8220
|
const n = await le.get(`${this.gateway}/api/arc/other/layers/links?l=${o}&t=${this.ts}`, {
|
|
8336
8221
|
headers: {
|
|
@@ -8339,20 +8224,20 @@ const Ho = {
|
|
|
8339
8224
|
});
|
|
8340
8225
|
if (((e = n == null ? void 0 : n.data) == null ? void 0 : e.code) === 0) {
|
|
8341
8226
|
const d = (a = n == null ? void 0 : n.data) == null ? void 0 : a.data, w = [];
|
|
8342
|
-
for (const
|
|
8227
|
+
for (const A in d)
|
|
8343
8228
|
w.push(
|
|
8344
|
-
le.get(d[
|
|
8229
|
+
le.get(d[A], {
|
|
8345
8230
|
headers: {
|
|
8346
8231
|
Authorization: this.token || this.defaultMeteoToken,
|
|
8347
|
-
key:
|
|
8232
|
+
key: A
|
|
8348
8233
|
}
|
|
8349
8234
|
})
|
|
8350
8235
|
);
|
|
8351
8236
|
const b = await Promise.all(w);
|
|
8352
|
-
this.otherLayers = { enc: l, world12nm: c, worldMarine: h, chinaRoute:
|
|
8353
|
-
var
|
|
8354
|
-
const
|
|
8355
|
-
this.otherLayers[
|
|
8237
|
+
this.otherLayers = { enc: l, world12nm: c, worldMarine: h, chinaRoute: p }, b.map((A) => {
|
|
8238
|
+
var f, u, C;
|
|
8239
|
+
const E = ((f = A == null ? void 0 : A.data) == null ? void 0 : f.data) || (A == null ? void 0 : A.data), v = (C = (u = A == null ? void 0 : A.config) == null ? void 0 : u.headers) == null ? void 0 : C.key;
|
|
8240
|
+
this.otherLayers[v] = E;
|
|
8356
8241
|
});
|
|
8357
8242
|
}
|
|
8358
8243
|
} else if (t.dayNight && o & 1024) {
|
|
@@ -8363,24 +8248,24 @@ const Ho = {
|
|
|
8363
8248
|
});
|
|
8364
8249
|
if (((r = n == null ? void 0 : n.data) == null ? void 0 : r.code) === 0) {
|
|
8365
8250
|
const d = (i = n == null ? void 0 : n.data) == null ? void 0 : i.data, w = [];
|
|
8366
|
-
for (const
|
|
8251
|
+
for (const A in d)
|
|
8367
8252
|
w.push(
|
|
8368
|
-
le.get(d[
|
|
8253
|
+
le.get(d[A], {
|
|
8369
8254
|
headers: {
|
|
8370
8255
|
Authorization: this.token || this.defaultMeteoToken,
|
|
8371
|
-
key:
|
|
8256
|
+
key: A
|
|
8372
8257
|
}
|
|
8373
8258
|
})
|
|
8374
8259
|
);
|
|
8375
|
-
(await Promise.all(w)).map((
|
|
8376
|
-
var
|
|
8377
|
-
const
|
|
8378
|
-
this.otherLayers[
|
|
8260
|
+
(await Promise.all(w)).map((A) => {
|
|
8261
|
+
var f, u, C;
|
|
8262
|
+
const E = ((f = A == null ? void 0 : A.data) == null ? void 0 : f.data) || (A == null ? void 0 : A.data), v = (C = (u = A == null ? void 0 : A.config) == null ? void 0 : u.headers) == null ? void 0 : C.key;
|
|
8263
|
+
this.otherLayers[v] = E;
|
|
8379
8264
|
});
|
|
8380
8265
|
}
|
|
8381
8266
|
}
|
|
8382
8267
|
} else
|
|
8383
|
-
this.otherLayers = { enc: l, world12nm: c, worldMarine: h, chinaRoute:
|
|
8268
|
+
this.otherLayers = { enc: l, world12nm: c, worldMarine: h, chinaRoute: p };
|
|
8384
8269
|
} else
|
|
8385
8270
|
this.otherLayers = {};
|
|
8386
8271
|
this.handleBeforeLayerToggle();
|
|
@@ -8396,7 +8281,7 @@ const Ho = {
|
|
|
8396
8281
|
this.activeWindLayer = !!this.activeWeatherLayers.find((e) => e.key === "wind"), this.$refs.layer && (this.$refs.layer.activeWeatherLayers = this.activeWeatherLayers);
|
|
8397
8282
|
},
|
|
8398
8283
|
handleRampColorInitial() {
|
|
8399
|
-
var t, e, a, r, i, o, l, c, h,
|
|
8284
|
+
var t, e, a, r, i, o, l, c, h, p, n, d;
|
|
8400
8285
|
this.viewport.map.getSource((t = this.viewport) == null ? void 0 : t.rampColorSource) || this.viewport.map.addSource((e = this.viewport) == null ? void 0 : e.rampColorSource, {
|
|
8401
8286
|
type: "canvas",
|
|
8402
8287
|
canvas: (a = this.viewport) == null ? void 0 : a.rampColorCanvas,
|
|
@@ -8417,7 +8302,7 @@ const Ho = {
|
|
|
8417
8302
|
canvas: (h = this.viewport) == null ? void 0 : h.particleCanvas,
|
|
8418
8303
|
animate: !0,
|
|
8419
8304
|
coordinates: this.viewport.getBoundLngLat()
|
|
8420
|
-
}), this.viewport.map.getLayer((
|
|
8305
|
+
}), this.viewport.map.getLayer((p = this.viewport) == null ? void 0 : p.particleLayer) || this.viewport.map.addLayer(
|
|
8421
8306
|
{
|
|
8422
8307
|
type: "raster",
|
|
8423
8308
|
id: (n = this.viewport) == null ? void 0 : n.particleLayer,
|
|
@@ -8429,236 +8314,222 @@ const Ho = {
|
|
|
8429
8314
|
this.beforeLayer
|
|
8430
8315
|
);
|
|
8431
8316
|
},
|
|
8432
|
-
|
|
8433
|
-
var
|
|
8317
|
+
handleDrawWeather4Json() {
|
|
8318
|
+
var p, n, d, w, b;
|
|
8434
8319
|
const t = (/* @__PURE__ */ new Date()).valueOf();
|
|
8435
8320
|
let e = 0, a = 0;
|
|
8436
|
-
const r = (
|
|
8437
|
-
for (const
|
|
8438
|
-
|
|
8439
|
-
|
|
8321
|
+
const r = (p = this.map) == null ? void 0 : p.getBounds(), i = this.map.getZoom(), o = X.convertToStdLng(r._sw.lng), l = X.convertToStdLng(r._ne.lng), c = Math.floor(r._sw.lat), h = Math.ceil(r._ne.lat);
|
|
8322
|
+
for (const A in this.weatherLayers) {
|
|
8323
|
+
let E = !1;
|
|
8324
|
+
if (this.weatherLayers[A].active && this.weatherLayers[A].type === "json") {
|
|
8440
8325
|
let v = [];
|
|
8441
|
-
if (["swell", "current"].includes(
|
|
8442
|
-
|
|
8443
|
-
|
|
8444
|
-
|
|
8445
|
-
|
|
8446
|
-
|
|
8447
|
-
|
|
8326
|
+
if (["swell", "current"].includes(A)) {
|
|
8327
|
+
E = !0;
|
|
8328
|
+
const f = ((n = this.weatherLayers[A]) == null ? void 0 : n.direction) || {};
|
|
8329
|
+
for (const u in f)
|
|
8330
|
+
if (u > c && u < h && (!(i <= this.zoom) || u % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8331
|
+
const C = f[u].lng;
|
|
8332
|
+
o > l ? C.forEach((y, B) => {
|
|
8333
|
+
var D, T, N, O, Q, Y;
|
|
8448
8334
|
if (i < 2) {
|
|
8449
|
-
if ((
|
|
8450
|
-
const
|
|
8451
|
-
val: ((
|
|
8452
|
-
spd: (
|
|
8335
|
+
if ((y >= 0 && y <= 360 || y >= -360 && y <= 0) && (!(i <= this.zoom) || y % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8336
|
+
const K = k.point([y, u], {
|
|
8337
|
+
val: ((D = f[u].val) == null ? void 0 : D[B]) || ((T = f[u].dir) == null ? void 0 : T[B]),
|
|
8338
|
+
spd: (N = f[u].spd) == null ? void 0 : N[B]
|
|
8453
8339
|
});
|
|
8454
|
-
v.push(
|
|
8340
|
+
v.push(K);
|
|
8455
8341
|
}
|
|
8456
|
-
} else if ((
|
|
8457
|
-
const
|
|
8458
|
-
val: ((O =
|
|
8459
|
-
spd: (
|
|
8342
|
+
} else if ((y >= o && y <= 180 || y >= -180 && y <= l) && (!(i <= this.zoom) || y % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8343
|
+
const K = k.point([y, u], {
|
|
8344
|
+
val: ((O = f[u].val) == null ? void 0 : O[B]) || ((Q = f[u].dir) == null ? void 0 : Q[B]),
|
|
8345
|
+
spd: (Y = f[u].spd) == null ? void 0 : Y[B]
|
|
8460
8346
|
});
|
|
8461
|
-
v.push(
|
|
8347
|
+
v.push(K);
|
|
8462
8348
|
}
|
|
8463
|
-
}) : C.forEach((
|
|
8464
|
-
var
|
|
8349
|
+
}) : C.forEach((y, B) => {
|
|
8350
|
+
var D, T, N, O, Q, Y;
|
|
8465
8351
|
if (o < 2) {
|
|
8466
|
-
if ((
|
|
8467
|
-
const
|
|
8468
|
-
val: ((
|
|
8469
|
-
spd: (
|
|
8352
|
+
if ((y >= 0 && y <= 360 || y >= -360 && y <= 0) && (!(i <= this.zoom) || y % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8353
|
+
const K = k.point([y, u], {
|
|
8354
|
+
val: ((D = f[u].val) == null ? void 0 : D[B]) || ((T = f[u].dir) == null ? void 0 : T[B]),
|
|
8355
|
+
spd: (N = f[u].spd) == null ? void 0 : N[B]
|
|
8470
8356
|
});
|
|
8471
|
-
v.push(
|
|
8357
|
+
v.push(K);
|
|
8472
8358
|
}
|
|
8473
|
-
} else if (
|
|
8474
|
-
const
|
|
8475
|
-
val: ((O =
|
|
8476
|
-
spd: (
|
|
8359
|
+
} else if (y >= o && y <= l && (!(i <= this.zoom) || y % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8360
|
+
const K = k.point([y, u], {
|
|
8361
|
+
val: ((O = f[u].val) == null ? void 0 : O[B]) || ((Q = f[u].dir) == null ? void 0 : Q[B]),
|
|
8362
|
+
spd: (Y = f[u].spd) == null ? void 0 : Y[B]
|
|
8477
8363
|
});
|
|
8478
|
-
v.push(
|
|
8364
|
+
v.push(K);
|
|
8479
8365
|
}
|
|
8480
8366
|
});
|
|
8481
8367
|
}
|
|
8482
|
-
if (a = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("direction elapsed: ", a, ", total: ", e += a),
|
|
8483
|
-
const
|
|
8484
|
-
if (
|
|
8485
|
-
if (!
|
|
8368
|
+
if (a = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("direction elapsed: ", a, ", total: ", e += a), A === "swell") {
|
|
8369
|
+
const u = this.weatherLayers[A].height;
|
|
8370
|
+
if (u) {
|
|
8371
|
+
if (!u.data) {
|
|
8486
8372
|
const C = [];
|
|
8487
|
-
for (const
|
|
8488
|
-
const
|
|
8489
|
-
for (const
|
|
8373
|
+
for (const y in (d = u.raw) == null ? void 0 : d.LineString) {
|
|
8374
|
+
const B = u.raw.LineString[y];
|
|
8375
|
+
for (const D of B)
|
|
8490
8376
|
C.push(
|
|
8491
|
-
|
|
8492
|
-
val: Number(
|
|
8377
|
+
k.lineString(D, {
|
|
8378
|
+
val: Number(y)
|
|
8493
8379
|
})
|
|
8494
8380
|
);
|
|
8495
|
-
|
|
8381
|
+
u.data = k.featureCollection(C);
|
|
8496
8382
|
}
|
|
8497
8383
|
}
|
|
8498
|
-
if (
|
|
8499
|
-
const C = this.handleBboxClip(
|
|
8384
|
+
if (u.data) {
|
|
8385
|
+
const C = this.handleBboxClip(u.data, r);
|
|
8500
8386
|
v = v.concat(C);
|
|
8501
8387
|
}
|
|
8502
8388
|
a = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("height elapsed: ", a, ", total: ", e += a);
|
|
8503
8389
|
}
|
|
8504
8390
|
}
|
|
8505
|
-
if (
|
|
8506
|
-
const
|
|
8507
|
-
if (
|
|
8508
|
-
if (!
|
|
8509
|
-
const
|
|
8510
|
-
for (const
|
|
8511
|
-
const
|
|
8512
|
-
for (const
|
|
8513
|
-
|
|
8514
|
-
|
|
8515
|
-
val: Number(
|
|
8391
|
+
if (A === "current") {
|
|
8392
|
+
const u = this.weatherLayers[A].speed;
|
|
8393
|
+
if (u) {
|
|
8394
|
+
if (!u.data) {
|
|
8395
|
+
const y = [];
|
|
8396
|
+
for (const B in (w = u.raw) == null ? void 0 : w.Polygon) {
|
|
8397
|
+
const D = u.raw.Polygon[B];
|
|
8398
|
+
for (const T of D)
|
|
8399
|
+
y.push(
|
|
8400
|
+
k.polygon(T, {
|
|
8401
|
+
val: Number(B)
|
|
8516
8402
|
})
|
|
8517
8403
|
);
|
|
8518
8404
|
}
|
|
8519
|
-
|
|
8405
|
+
u.data = k.featureCollection(y);
|
|
8520
8406
|
}
|
|
8521
|
-
const C = i < this.zoom ?
|
|
8407
|
+
const C = i < this.zoom ? u.data.features.filter((y) => y.properties.val > 0.5) : u.data.features;
|
|
8522
8408
|
v = v.concat(C), a = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("speed elapsed: ", a, ", total: ", e += a);
|
|
8523
8409
|
}
|
|
8524
8410
|
}
|
|
8525
|
-
} else if (
|
|
8526
|
-
|
|
8527
|
-
|
|
8528
|
-
|
|
8529
|
-
|
|
8530
|
-
|
|
8531
|
-
|
|
8411
|
+
} else if (A === "wind") {
|
|
8412
|
+
E = !0;
|
|
8413
|
+
const f = this.weatherLayers.wind.raw;
|
|
8414
|
+
for (const u in f)
|
|
8415
|
+
if (u > c && u < h && (!(i <= this.zoom) || u % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8416
|
+
const C = f[u].lng;
|
|
8417
|
+
o > l ? C.forEach((y, B) => {
|
|
8418
|
+
var D, T, N, O;
|
|
8532
8419
|
if (i < 2) {
|
|
8533
|
-
if ((
|
|
8534
|
-
const Q =
|
|
8535
|
-
dir: ((
|
|
8536
|
-
spd:
|
|
8420
|
+
if ((y >= 0 && y <= 360 || y >= -360 && y <= 0) && (!(i <= this.zoom) || y % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8421
|
+
const Q = k.point([y, u], {
|
|
8422
|
+
dir: ((D = f[u].val) == null ? void 0 : D[B]) || ((T = f[u].dir) == null ? void 0 : T[B]),
|
|
8423
|
+
spd: f[u].spd[B]
|
|
8537
8424
|
});
|
|
8538
8425
|
v.push(Q);
|
|
8539
8426
|
}
|
|
8540
|
-
} else if ((
|
|
8541
|
-
const Q =
|
|
8542
|
-
dir: ((
|
|
8543
|
-
spd:
|
|
8427
|
+
} else if ((y >= o && y <= 180 || y >= -180 && y <= l) && (!(i <= this.zoom) || y % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8428
|
+
const Q = k.point([y, u], {
|
|
8429
|
+
dir: ((N = f[u].val) == null ? void 0 : N[B]) || ((O = f[u].dir) == null ? void 0 : O[B]),
|
|
8430
|
+
spd: f[u].spd[B]
|
|
8544
8431
|
});
|
|
8545
8432
|
v.push(Q);
|
|
8546
8433
|
}
|
|
8547
|
-
}) : C.forEach((
|
|
8548
|
-
var
|
|
8434
|
+
}) : C.forEach((y, B) => {
|
|
8435
|
+
var D, T, N, O;
|
|
8549
8436
|
if (i < 2) {
|
|
8550
|
-
if ((
|
|
8551
|
-
const Q =
|
|
8552
|
-
dir: ((
|
|
8553
|
-
spd:
|
|
8437
|
+
if ((y >= 0 && y <= 360 || y >= -360 && y <= 0) && (!(i <= this.zoom) || y % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8438
|
+
const Q = k.point([y, u], {
|
|
8439
|
+
dir: ((D = f[u].val) == null ? void 0 : D[B]) || ((T = f[u].dir) == null ? void 0 : T[B]),
|
|
8440
|
+
spd: f[u].spd[B]
|
|
8554
8441
|
});
|
|
8555
8442
|
v.push(Q);
|
|
8556
8443
|
}
|
|
8557
|
-
} else if (
|
|
8558
|
-
const Q =
|
|
8559
|
-
dir: ((
|
|
8560
|
-
spd:
|
|
8444
|
+
} else if (y >= o && y <= l && (!(i <= this.zoom) || y % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8445
|
+
const Q = k.point([y, u], {
|
|
8446
|
+
dir: ((N = f[u].val) == null ? void 0 : N[B]) || ((O = f[u].dir) == null ? void 0 : O[B]),
|
|
8447
|
+
spd: f[u].spd[B]
|
|
8561
8448
|
});
|
|
8562
8449
|
v.push(Q);
|
|
8563
8450
|
}
|
|
8564
8451
|
});
|
|
8565
8452
|
}
|
|
8566
8453
|
a = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("wind barb elapsed: ", a, ", total: ", e += a);
|
|
8567
|
-
} else if (
|
|
8568
|
-
if (this.weatherLayers[
|
|
8569
|
-
v = this.weatherLayers[
|
|
8454
|
+
} else if (A === "sig-wave-height") {
|
|
8455
|
+
if (this.weatherLayers[A].data)
|
|
8456
|
+
v = this.weatherLayers[A].data;
|
|
8570
8457
|
else {
|
|
8571
|
-
|
|
8572
|
-
|
|
8573
|
-
|
|
8574
|
-
|
|
8575
|
-
|
|
8576
|
-
|
|
8577
|
-
|
|
8578
|
-
|
|
8458
|
+
E = !0;
|
|
8459
|
+
const f = this.weatherLayers[A].raw;
|
|
8460
|
+
if (f) {
|
|
8461
|
+
const u = [];
|
|
8462
|
+
for (const C in f.Polygon) {
|
|
8463
|
+
const y = f.Polygon[C];
|
|
8464
|
+
for (const B of y)
|
|
8465
|
+
u.push(
|
|
8466
|
+
k.polygon(B, {
|
|
8579
8467
|
val: Number(C)
|
|
8580
8468
|
})
|
|
8581
8469
|
);
|
|
8582
8470
|
}
|
|
8583
|
-
for (const C in
|
|
8584
|
-
const
|
|
8585
|
-
for (let
|
|
8586
|
-
|
|
8587
|
-
|
|
8588
|
-
val: Number(
|
|
8471
|
+
for (const C in f.Point) {
|
|
8472
|
+
const y = f.Point[C];
|
|
8473
|
+
for (let B = 0; B < ((b = y.lng) == null ? void 0 : b.length); B++)
|
|
8474
|
+
u.push(
|
|
8475
|
+
k.point([y.lng[B], C], {
|
|
8476
|
+
val: Number(y.val[B])
|
|
8589
8477
|
})
|
|
8590
8478
|
);
|
|
8591
8479
|
}
|
|
8592
|
-
v = v.concat(
|
|
8480
|
+
v = v.concat(u);
|
|
8593
8481
|
}
|
|
8594
8482
|
}
|
|
8595
8483
|
a = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("sigWave elapsed: ", a, ", total: ", e += a);
|
|
8596
|
-
} else if (
|
|
8597
|
-
if (this.weatherLayers[
|
|
8598
|
-
v = this.weatherLayers[
|
|
8484
|
+
} else if (A === "prmsl") {
|
|
8485
|
+
if (this.weatherLayers[A].data)
|
|
8486
|
+
v = this.weatherLayers[A].data;
|
|
8599
8487
|
else {
|
|
8600
|
-
|
|
8601
|
-
|
|
8602
|
-
|
|
8603
|
-
|
|
8604
|
-
|
|
8605
|
-
|
|
8606
|
-
|
|
8607
|
-
|
|
8488
|
+
E = !0;
|
|
8489
|
+
const f = this.weatherLayers[A].raw;
|
|
8490
|
+
if (f) {
|
|
8491
|
+
const u = [];
|
|
8492
|
+
for (const C in f.LineString) {
|
|
8493
|
+
const y = f.LineString[C];
|
|
8494
|
+
for (const B of y)
|
|
8495
|
+
u.push(
|
|
8496
|
+
k.lineString(B, {
|
|
8608
8497
|
val: Number(C)
|
|
8609
8498
|
})
|
|
8610
8499
|
);
|
|
8611
8500
|
}
|
|
8612
|
-
for (const C in
|
|
8613
|
-
|
|
8614
|
-
|
|
8615
|
-
|
|
8616
|
-
val:
|
|
8617
|
-
type:
|
|
8501
|
+
for (const C in f.Point)
|
|
8502
|
+
f.Point[C].lng.forEach((y, B) => {
|
|
8503
|
+
y = X.convertToStdLng(y), u.push(
|
|
8504
|
+
k.point([y, C], {
|
|
8505
|
+
val: f.Point[C].val[B],
|
|
8506
|
+
type: f.Point[C].type[B]
|
|
8618
8507
|
})
|
|
8619
8508
|
);
|
|
8620
8509
|
});
|
|
8621
|
-
v = v.concat(
|
|
8510
|
+
v = v.concat(u);
|
|
8622
8511
|
}
|
|
8623
8512
|
}
|
|
8624
8513
|
a = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("prmsl elapsed: ", a, ", total: ", e += a);
|
|
8625
|
-
} else if (g === "arctic" || g === "iceberg") {
|
|
8626
|
-
if (this.weatherLayers[g].data)
|
|
8627
|
-
v = this.weatherLayers[g].data;
|
|
8628
|
-
else {
|
|
8629
|
-
const y = this.weatherLayers[g].raw;
|
|
8630
|
-
if (y) {
|
|
8631
|
-
const p = [];
|
|
8632
|
-
for (const C in y.LineString) {
|
|
8633
|
-
const m = y.LineString[C];
|
|
8634
|
-
for (const x of m)
|
|
8635
|
-
p.push(
|
|
8636
|
-
P.lineString(x, {
|
|
8637
|
-
val: Number(C)
|
|
8638
|
-
})
|
|
8639
|
-
);
|
|
8640
|
-
}
|
|
8641
|
-
v = v.concat(p);
|
|
8642
|
-
}
|
|
8643
|
-
}
|
|
8644
|
-
a = (/* @__PURE__ */ new Date()).valueOf() - (t + e);
|
|
8645
8514
|
}
|
|
8646
|
-
console.log(
|
|
8515
|
+
console.log(A, " elapsed: ", a, ", total: ", e += a), v.length && (this.weatherLayers[A].data = k.featureCollection(v)), E && (this.weatherLayers[A].version = Math.random() + 1);
|
|
8647
8516
|
}
|
|
8517
|
+
}
|
|
8648
8518
|
},
|
|
8649
|
-
|
|
8519
|
+
handleMove4Weather() {
|
|
8650
8520
|
for (const t in this.weatherLayers)
|
|
8651
8521
|
this.weatherLayers[t].active && this.weatherLayers[t].type === "image" && (this.weatherLayers[t].active = !0, this.weatherLayers[t].version = Math.random() + 1);
|
|
8522
|
+
this.handleDrawWeather4Json();
|
|
8652
8523
|
},
|
|
8653
8524
|
handleBboxClip(t, e) {
|
|
8654
|
-
const a = [], r =
|
|
8525
|
+
const a = [], r = X.convertToStdLng(e._sw.lng), i = X.convertToStdLng(e._ne.lng);
|
|
8655
8526
|
return t.features.forEach((o) => {
|
|
8656
8527
|
if (o.geometry.type !== "Point")
|
|
8657
8528
|
if (r > i) {
|
|
8658
|
-
let l = [r, e._sw.lat, 180, e._ne.lat], c =
|
|
8659
|
-
c.geometry.coordinates.length && a.push(c), l = [-180, e._sw.lat, i, e._ne.lat], c =
|
|
8529
|
+
let l = [r, e._sw.lat, 180, e._ne.lat], c = k.bboxClip(o, l);
|
|
8530
|
+
c.geometry.coordinates.length && a.push(c), l = [-180, e._sw.lat, i, e._ne.lat], c = k.bboxClip(o, l), c.geometry.coordinates.length && a.push(c);
|
|
8660
8531
|
} else {
|
|
8661
|
-
const l = [r, e._sw.lat, i, e._ne.lat], c =
|
|
8532
|
+
const l = [r, e._sw.lat, i, e._ne.lat], c = k.bboxClip(o, l);
|
|
8662
8533
|
c.geometry.coordinates.length && a.push(c);
|
|
8663
8534
|
}
|
|
8664
8535
|
else
|
|
@@ -8676,8 +8547,8 @@ const Ho = {
|
|
|
8676
8547
|
this.handleBeforeLayerToggle();
|
|
8677
8548
|
},
|
|
8678
8549
|
handleBeforeLayerToggle() {
|
|
8679
|
-
var t, e, a, r, i, o, l, c, h,
|
|
8680
|
-
(t = this.map) != null && t.getLayer(this.beforeLayer) && ((e = this.activeWeatherLayers) != null && e.length || (a = this.otherLayers) != null && a["war-zones"] || (r = this.otherLayers) != null && r["gmdss-areas"] || (i = this.otherLayers) != null && i["load-lines"] || (o = this.otherLayers) != null && o["high-risk-area"] || (l = this.otherLayers) != null && l["time-zones"] || (c = this.otherLayers) != null && c.pirates || (h = this.otherLayers) != null && h.ports || (
|
|
8550
|
+
var t, e, a, r, i, o, l, c, h, p, n, d, w, b, A, E;
|
|
8551
|
+
(t = this.map) != null && t.getLayer(this.beforeLayer) && ((e = this.activeWeatherLayers) != null && e.length || (a = this.otherLayers) != null && a["war-zones"] || (r = this.otherLayers) != null && r["gmdss-areas"] || (i = this.otherLayers) != null && i["load-lines"] || (o = this.otherLayers) != null && o["high-risk-area"] || (l = this.otherLayers) != null && l["time-zones"] || (c = this.otherLayers) != null && c.pirates || (h = this.otherLayers) != null && h.ports || (p = this.otherLayers) != null && p.enc || (n = this.otherLayers) != null && n.world12nm || (d = this.otherLayers) != null && d.worldMarine || (w = this.otherLayers) != null && w.chinaRoute || (b = this.otherLayers) != null && b["voluntary-reporting-area"] || (A = this.otherLayers) != null && A["eca-zones"] || (E = this.otherLayers) != null && E["special-area"]) && this.map.setLayoutProperty(this.beforeLayer, "visibility", "visible");
|
|
8681
8552
|
},
|
|
8682
8553
|
handleDateChange(t = { tropicals: !1 }) {
|
|
8683
8554
|
this.fetchWeatherLayers(t), this.fetchOtherLayers({ dayNight: !0 });
|
|
@@ -8711,8 +8582,8 @@ const Ho = {
|
|
|
8711
8582
|
}
|
|
8712
8583
|
},
|
|
8713
8584
|
handle3dToggle(t) {
|
|
8714
|
-
var e, a, r, i, o, l, c, h,
|
|
8715
|
-
t ? (this.map.setProjection("globe"), this.mapProjection = "globe", (a = this.map) != null && a.getLayer((e = this.viewport) == null ? void 0 : e.rampColorLayer) && ((r = this.map) != null && r.getLayer(this.helper.mapboxCustomer.layers.water.id)) && ((o = this.map) == null || o.moveLayer((i = this.viewport) == null ? void 0 : i.rampColorLayer, this.helper.mapboxCustomer.layers.water.id)), (c = this.map) != null && c.getLayer((l = this.viewport) == null ? void 0 : l.particleLayer) && ((h = this.map) != null && h.getLayer(this.helper.mapboxCustomer.layers.water.id)) && ((n = this.map) == null || n.moveLayer((
|
|
8585
|
+
var e, a, r, i, o, l, c, h, p, n, d, w, b, A, E, v, f, u, C, y;
|
|
8586
|
+
t ? (this.map.setProjection("globe"), this.mapProjection = "globe", (a = this.map) != null && a.getLayer((e = this.viewport) == null ? void 0 : e.rampColorLayer) && ((r = this.map) != null && r.getLayer(this.helper.mapboxCustomer.layers.water.id)) && ((o = this.map) == null || o.moveLayer((i = this.viewport) == null ? void 0 : i.rampColorLayer, this.helper.mapboxCustomer.layers.water.id)), (c = this.map) != null && c.getLayer((l = this.viewport) == null ? void 0 : l.particleLayer) && ((h = this.map) != null && h.getLayer(this.helper.mapboxCustomer.layers.water.id)) && ((n = this.map) == null || n.moveLayer((p = this.viewport) == null ? void 0 : p.particleLayer, this.helper.mapboxCustomer.layers.water.id)), this.map.off("move", this.handleDraWeather4Image)) : (this.map.setProjection("mercator"), this.mapProjection = "mercator", this.map.on("move", this.handleDraWeather4Image), this.handleDraWeather4Image(), (w = this.map) != null && w.getLayer((d = this.viewport) == null ? void 0 : d.rampColorLayer) && ((b = this.map) != null && b.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id)) && ((E = this.map) == null || E.moveLayer((A = this.viewport) == null ? void 0 : A.rampColorLayer, this.helper.mapboxCustomer.layers.countryBoundary.id)), (f = this.map) != null && f.getLayer((v = this.viewport) == null ? void 0 : v.particleLayer) && ((u = this.map) != null && u.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id)) && ((y = this.map) == null || y.moveLayer((C = this.viewport) == null ? void 0 : C.particleLayer, this.helper.mapboxCustomer.layers.countryBoundary.id)));
|
|
8716
8587
|
},
|
|
8717
8588
|
handleParticle(t) {
|
|
8718
8589
|
this.particleFactor = t, this.weatherLayers[t.key] && (this.weatherLayers[t.key].particle = t.particle), this.activeWeatherLayers.map((r) => {
|
|
@@ -8730,16 +8601,16 @@ const Ho = {
|
|
|
8730
8601
|
this.$emit("toggleVersion", Math.random());
|
|
8731
8602
|
}
|
|
8732
8603
|
}
|
|
8733
|
-
},
|
|
8604
|
+
}, Qo = {
|
|
8734
8605
|
key: 0,
|
|
8735
8606
|
ref: "mapGlHome",
|
|
8736
8607
|
className: "map-gl-home"
|
|
8737
8608
|
};
|
|
8738
|
-
function
|
|
8739
|
-
var
|
|
8740
|
-
const l = z("IdmGlLayer"), c = z("IdmENC"), h = z("IdmWorld12nm"),
|
|
8741
|
-
return a.map ? (
|
|
8742
|
-
|
|
8609
|
+
function So(t, e, a, r, i, o) {
|
|
8610
|
+
var Ae, ie, _, $, fe, re, se, ne, x, Le, xe, Be, Ie, Ee, De, Pe, ke, Me, ze, Te, Qe, Se, _e, He, Oe, Ne, je, Re, Fe;
|
|
8611
|
+
const l = z("IdmGlLayer"), c = z("IdmENC"), h = z("IdmWorld12nm"), p = z("IdmWorldMarine"), n = z("IdmChinaRoute"), d = z("IdmSigWave"), w = z("IdmSwell"), b = z("IdmPrmsl"), A = z("IdmIceCover"), E = z("IdmIceThickness"), v = z("IdmTropicals"), f = z("IdmCurrents"), u = z("IdmCurrentParticle"), C = z("IdmWindBarb"), y = z("IdmWindParticle"), B = z("IdmPrecip3h"), D = z("IdmVisibility"), T = z("IdmWaterTemp"), N = z("IdmTemp"), O = z("IdmWarZone"), Q = z("IdmGmdssArea"), Y = z("IdmEcaZone"), K = z("IdmAlertZone"), ce = z("IdmPort"), he = z("IdmLoadLine"), de = z("IdmTimezone"), pe = z("IdmVRA"), ue = z("IdmSpecialArea"), me = z("IdmTerminator"), ge = z("IdmLatLng"), te = z("IdmMeasure"), oe = z("IdmPoint");
|
|
8612
|
+
return a.map ? (m(), g("div", Qo, [
|
|
8613
|
+
M(l, H({
|
|
8743
8614
|
ref: "layer",
|
|
8744
8615
|
map: a.map,
|
|
8745
8616
|
"toggle-version": a.toggleVersion,
|
|
@@ -8754,84 +8625,84 @@ function No(t, e, a, r, i, o) {
|
|
|
8754
8625
|
"forecast-model": a.forecastModel,
|
|
8755
8626
|
onWeather: o.handleWeatherLayerChange,
|
|
8756
8627
|
onOther: o.handleOtherLayerChange,
|
|
8757
|
-
onToggleWindParticle: e[0] || (e[0] = (
|
|
8758
|
-
onToggleWindFeather: e[1] || (e[1] = (
|
|
8759
|
-
onToggleCurrentParticle: e[2] || (e[2] = (
|
|
8760
|
-
onToggleCurrentIsoband: e[3] || (e[3] = (
|
|
8761
|
-
onToggleWindParticeVersion: e[4] || (e[4] = (
|
|
8762
|
-
onToggleCurrentParticeVersion: e[5] || (e[5] = (
|
|
8763
|
-
onCoordinate: e[6] || (e[6] = (
|
|
8764
|
-
onMeasure: e[7] || (e[7] = (
|
|
8765
|
-
onPoint: e[8] || (e[8] = (
|
|
8628
|
+
onToggleWindParticle: e[0] || (e[0] = (J) => i.showWindParticle = J),
|
|
8629
|
+
onToggleWindFeather: e[1] || (e[1] = (J) => i.showWindFeather = J),
|
|
8630
|
+
onToggleCurrentParticle: e[2] || (e[2] = (J) => i.showCurrentParticle = J),
|
|
8631
|
+
onToggleCurrentIsoband: e[3] || (e[3] = (J) => i.showCurrentIsoband = J),
|
|
8632
|
+
onToggleWindParticeVersion: e[4] || (e[4] = (J) => i.toggleWindParticeVersion = Math.random()),
|
|
8633
|
+
onToggleCurrentParticeVersion: e[5] || (e[5] = (J) => i.toggleCurrentParticeVersion = Math.random()),
|
|
8634
|
+
onCoordinate: e[6] || (e[6] = (J) => i.showCoord = J),
|
|
8635
|
+
onMeasure: e[7] || (e[7] = (J) => i.showMeasure = J),
|
|
8636
|
+
onPoint: e[8] || (e[8] = (J) => i.showPoint = J),
|
|
8766
8637
|
on3d: o.handle3dToggle,
|
|
8767
8638
|
onHandleToggleVersion: o.handleToggleVersion
|
|
8768
8639
|
}), null, 16, ["map", "toggle-version", "map-projection", "show-wind-feather", "show-wind-particle", "show-current-isoband", "show-current-particle", "token", "gateway", "forecast-model", "onWeather", "onOther", "on3d", "onHandleToggleVersion"]),
|
|
8769
|
-
|
|
8640
|
+
M(c, H({
|
|
8770
8641
|
map: a.map,
|
|
8771
8642
|
token: a.token,
|
|
8772
|
-
enabled: (
|
|
8643
|
+
enabled: (Ae = i.otherLayers) == null ? void 0 : Ae.enc,
|
|
8773
8644
|
"toggle-version": a.toggleVersion
|
|
8774
8645
|
}, t.$attrs, {
|
|
8775
|
-
onEnc: e[9] || (e[9] = (
|
|
8646
|
+
onEnc: e[9] || (e[9] = (J) => i.enc = J)
|
|
8776
8647
|
}), null, 16, ["map", "token", "enabled", "toggle-version"]),
|
|
8777
|
-
|
|
8648
|
+
M(h, H({
|
|
8778
8649
|
map: a.map,
|
|
8779
8650
|
token: a.token,
|
|
8780
8651
|
"weather-layers": i.weatherLayers,
|
|
8781
|
-
enabled: (
|
|
8652
|
+
enabled: (ie = i.otherLayers) == null ? void 0 : ie.world12nm
|
|
8782
8653
|
}, t.$attrs), null, 16, ["map", "token", "weather-layers", "enabled"]),
|
|
8783
|
-
|
|
8654
|
+
M(p, H({
|
|
8784
8655
|
map: a.map,
|
|
8785
8656
|
token: a.token,
|
|
8786
8657
|
"weather-layers": i.weatherLayers,
|
|
8787
|
-
enabled: (
|
|
8658
|
+
enabled: (_ = i.otherLayers) == null ? void 0 : _.worldMarine
|
|
8788
8659
|
}, t.$attrs), null, 16, ["map", "token", "weather-layers", "enabled"]),
|
|
8789
|
-
|
|
8660
|
+
M(n, H({
|
|
8790
8661
|
map: a.map,
|
|
8791
8662
|
token: a.token,
|
|
8792
8663
|
"weather-layers": i.weatherLayers,
|
|
8793
|
-
enabled: (
|
|
8664
|
+
enabled: ($ = i.otherLayers) == null ? void 0 : $.chinaRoute
|
|
8794
8665
|
}, t.$attrs), null, 16, ["map", "token", "weather-layers", "enabled"]),
|
|
8795
|
-
|
|
8666
|
+
M(d, H({
|
|
8796
8667
|
map: a.map,
|
|
8797
|
-
"sig-wave": (
|
|
8668
|
+
"sig-wave": (fe = i.weatherLayers) == null ? void 0 : fe["sig-wave-height"],
|
|
8798
8669
|
"before-layer": a.beforeLayer,
|
|
8799
8670
|
"active-weather-layers": i.activeWeatherLayers
|
|
8800
8671
|
}, t.$attrs), null, 16, ["map", "sig-wave", "before-layer", "active-weather-layers"]),
|
|
8801
|
-
|
|
8672
|
+
M(w, H({
|
|
8802
8673
|
map: a.map,
|
|
8803
|
-
swell: (
|
|
8674
|
+
swell: (re = i.weatherLayers) == null ? void 0 : re.swell,
|
|
8804
8675
|
"before-layer": a.beforeLayer,
|
|
8805
8676
|
"active-weather-layers": i.activeWeatherLayers
|
|
8806
8677
|
}, t.$attrs), null, 16, ["map", "swell", "before-layer", "active-weather-layers"]),
|
|
8807
|
-
|
|
8678
|
+
M(b, H({
|
|
8808
8679
|
map: a.map,
|
|
8809
|
-
prmsl: (
|
|
8680
|
+
prmsl: (se = i.weatherLayers) == null ? void 0 : se.prmsl,
|
|
8810
8681
|
"before-layer": a.beforeLayer,
|
|
8811
8682
|
"active-weather-layers": i.activeWeatherLayers
|
|
8812
8683
|
}, t.$attrs), null, 16, ["map", "prmsl", "before-layer", "active-weather-layers"]),
|
|
8813
|
-
|
|
8684
|
+
M(A, H({
|
|
8814
8685
|
viewport: i.viewport,
|
|
8815
|
-
factor: (
|
|
8686
|
+
factor: (ne = i.weatherLayers) == null ? void 0 : ne["ice-cover"],
|
|
8816
8687
|
"toggle-version": a.toggleVersion,
|
|
8817
8688
|
"before-layer": a.beforeLayer
|
|
8818
8689
|
}, t.$attrs), null, 16, ["viewport", "factor", "toggle-version", "before-layer"]),
|
|
8819
|
-
|
|
8690
|
+
M(E, H({
|
|
8820
8691
|
viewport: i.viewport,
|
|
8821
|
-
factor: (
|
|
8692
|
+
factor: (x = i.weatherLayers) == null ? void 0 : x["ice-thickness"],
|
|
8822
8693
|
"toggle-version": a.toggleVersion,
|
|
8823
8694
|
"before-layer": a.beforeLayer
|
|
8824
8695
|
}, t.$attrs), null, 16, ["viewport", "factor", "toggle-version", "before-layer"]),
|
|
8825
|
-
|
|
8696
|
+
M(v, H({
|
|
8826
8697
|
map: a.map,
|
|
8827
8698
|
date: a.ts,
|
|
8828
|
-
tropicals: (
|
|
8699
|
+
tropicals: (Le = i.weatherLayers) == null ? void 0 : Le.tropicals,
|
|
8829
8700
|
"before-layer": a.beforeLayer
|
|
8830
8701
|
}, t.$attrs), null, 16, ["map", "date", "tropicals", "before-layer"]),
|
|
8831
|
-
|
|
8702
|
+
M(f, H({
|
|
8832
8703
|
map: a.map,
|
|
8833
8704
|
"map-projection": i.mapProjection,
|
|
8834
|
-
current: (
|
|
8705
|
+
current: (xe = i.weatherLayers) == null ? void 0 : xe.current,
|
|
8835
8706
|
"before-layer": a.beforeLayer,
|
|
8836
8707
|
"show-current-isoband": i.showCurrentIsoband,
|
|
8837
8708
|
"show-current-particle": i.showCurrentParticle,
|
|
@@ -8843,18 +8714,18 @@ function No(t, e, a, r, i, o) {
|
|
|
8843
8714
|
onParticle: o.handleParticle,
|
|
8844
8715
|
onHandleToggleVersion: o.handleToggleVersion
|
|
8845
8716
|
}), null, 16, ["map", "map-projection", "current", "before-layer", "show-current-isoband", "show-current-particle", "toggle-partice-version", "margin-bottom", "toggle-version", "weather-layers", "onParticle", "onHandleToggleVersion"]),
|
|
8846
|
-
|
|
8717
|
+
M(u, H({
|
|
8847
8718
|
viewport: i.viewport,
|
|
8848
|
-
factor: (
|
|
8719
|
+
factor: (Be = i.weatherLayers) == null ? void 0 : Be["current-particle"],
|
|
8849
8720
|
"before-layer": a.beforeLayer,
|
|
8850
8721
|
"toggle-version": a.toggleVersion
|
|
8851
8722
|
}, t.$attrs), null, 16, ["viewport", "factor", "before-layer", "toggle-version"]),
|
|
8852
|
-
|
|
8723
|
+
M(C, H({
|
|
8853
8724
|
ref: "windBarb",
|
|
8854
8725
|
map: a.map,
|
|
8855
8726
|
"map-projection": i.mapProjection,
|
|
8856
|
-
wind: (
|
|
8857
|
-
current: (
|
|
8727
|
+
wind: (Ie = i.weatherLayers) == null ? void 0 : Ie.wind,
|
|
8728
|
+
current: (Ee = i.weatherLayers) == null ? void 0 : Ee.current,
|
|
8858
8729
|
"before-layer": a.beforeLayer,
|
|
8859
8730
|
"margin-bottom": i.showRampColor ? "56px" : "30px",
|
|
8860
8731
|
"show-wind-feather": i.showWindFeather,
|
|
@@ -8865,102 +8736,96 @@ function No(t, e, a, r, i, o) {
|
|
|
8865
8736
|
"weather-layers": i.weatherLayers,
|
|
8866
8737
|
onParticle: o.handleParticle
|
|
8867
8738
|
}), null, 16, ["map", "map-projection", "wind", "current", "before-layer", "margin-bottom", "show-wind-feather", "show-wind-particle", "toggle-partice-version", "toggle-version", "weather-layers", "onParticle"]),
|
|
8868
|
-
|
|
8869
|
-
viewport: i.viewport,
|
|
8870
|
-
factor: (Pe = i.weatherLayers) == null ? void 0 : Pe["wind-particle"],
|
|
8871
|
-
"before-layer": a.beforeLayer,
|
|
8872
|
-
"toggle-version": a.toggleVersion
|
|
8873
|
-
}, t.$attrs), null, 16, ["viewport", "factor", "before-layer", "toggle-version"]),
|
|
8874
|
-
k(M, S({
|
|
8739
|
+
M(y, H({
|
|
8875
8740
|
viewport: i.viewport,
|
|
8876
|
-
factor: (
|
|
8741
|
+
factor: (De = i.weatherLayers) == null ? void 0 : De["wind-particle"],
|
|
8877
8742
|
"before-layer": a.beforeLayer,
|
|
8878
8743
|
"toggle-version": a.toggleVersion
|
|
8879
8744
|
}, t.$attrs), null, 16, ["viewport", "factor", "before-layer", "toggle-version"]),
|
|
8880
|
-
|
|
8745
|
+
M(B, H({
|
|
8881
8746
|
viewport: i.viewport,
|
|
8882
|
-
factor: (
|
|
8747
|
+
factor: (Pe = i.weatherLayers) == null ? void 0 : Pe.precip3h,
|
|
8883
8748
|
"before-layer": a.beforeLayer,
|
|
8884
8749
|
"toggle-version": a.toggleVersion
|
|
8885
8750
|
}, t.$attrs), null, 16, ["viewport", "factor", "before-layer", "toggle-version"]),
|
|
8886
|
-
|
|
8751
|
+
M(D, H({
|
|
8887
8752
|
viewport: i.viewport,
|
|
8888
|
-
factor: (
|
|
8753
|
+
factor: (ke = i.weatherLayers) == null ? void 0 : ke.visibility,
|
|
8889
8754
|
"before-layer": a.beforeLayer,
|
|
8890
8755
|
"toggle-version": a.toggleVersion
|
|
8891
8756
|
}, t.$attrs), null, 16, ["viewport", "factor", "before-layer", "toggle-version"]),
|
|
8892
|
-
|
|
8757
|
+
M(T, H({
|
|
8893
8758
|
viewport: i.viewport,
|
|
8894
|
-
factor: (
|
|
8759
|
+
factor: (Me = i.weatherLayers) == null ? void 0 : Me["water-temp"],
|
|
8895
8760
|
"before-layer": a.beforeLayer,
|
|
8896
8761
|
"toggle-version": a.toggleVersion
|
|
8897
8762
|
}, t.$attrs), null, 16, ["viewport", "factor", "before-layer", "toggle-version"]),
|
|
8898
|
-
|
|
8763
|
+
M(N, H({
|
|
8899
8764
|
viewport: i.viewport,
|
|
8900
|
-
factor: (
|
|
8765
|
+
factor: (ze = i.weatherLayers) == null ? void 0 : ze.temp,
|
|
8901
8766
|
"before-layer": a.beforeLayer,
|
|
8902
8767
|
"toggle-version": a.toggleVersion
|
|
8903
8768
|
}, t.$attrs), null, 16, ["viewport", "factor", "before-layer", "toggle-version"]),
|
|
8904
|
-
|
|
8769
|
+
M(O, H({
|
|
8905
8770
|
map: a.map,
|
|
8906
|
-
zone: (
|
|
8771
|
+
zone: (Te = i.otherLayers) == null ? void 0 : Te["war-zones"],
|
|
8907
8772
|
"before-layer": a.beforeLayer
|
|
8908
8773
|
}, t.$attrs), null, 16, ["map", "zone", "before-layer"]),
|
|
8909
|
-
|
|
8774
|
+
M(Q, H({
|
|
8910
8775
|
map: a.map,
|
|
8911
|
-
area: (
|
|
8776
|
+
area: (Qe = i.otherLayers) == null ? void 0 : Qe["gmdss-areas"],
|
|
8912
8777
|
"before-layer": a.beforeLayer
|
|
8913
8778
|
}, t.$attrs), null, 16, ["map", "area", "before-layer"]),
|
|
8914
|
-
|
|
8779
|
+
M(Y, H({
|
|
8915
8780
|
map: a.map,
|
|
8916
|
-
zone: (
|
|
8781
|
+
zone: (Se = i.otherLayers) == null ? void 0 : Se["eca-zones"],
|
|
8917
8782
|
"before-layer": a.beforeLayer
|
|
8918
8783
|
}, t.$attrs), null, 16, ["map", "zone", "before-layer"]),
|
|
8919
|
-
|
|
8784
|
+
M(K, H({
|
|
8920
8785
|
map: a.map,
|
|
8921
|
-
zone: (
|
|
8786
|
+
zone: (_e = i.otherLayers) == null ? void 0 : _e["alert-zones"],
|
|
8922
8787
|
"before-layer": a.beforeLayer
|
|
8923
8788
|
}, t.$attrs), null, 16, ["map", "zone", "before-layer"]),
|
|
8924
|
-
|
|
8789
|
+
M(ce, H({
|
|
8925
8790
|
map: a.map,
|
|
8926
|
-
port: (
|
|
8791
|
+
port: (He = i.otherLayers) == null ? void 0 : He.ports,
|
|
8927
8792
|
"before-layer": a.beforeLayer,
|
|
8928
8793
|
"forecast-model": a.forecastModel
|
|
8929
8794
|
}, t.$attrs), null, 16, ["map", "port", "before-layer", "forecast-model"]),
|
|
8930
|
-
|
|
8795
|
+
M(he, H({
|
|
8931
8796
|
map: a.map,
|
|
8932
|
-
line: (
|
|
8797
|
+
line: (Oe = i.otherLayers) == null ? void 0 : Oe["load-lines"],
|
|
8933
8798
|
"before-layer": a.beforeLayer
|
|
8934
8799
|
}, t.$attrs), null, 16, ["map", "line", "before-layer"]),
|
|
8935
|
-
|
|
8800
|
+
M(de, H({
|
|
8936
8801
|
map: a.map,
|
|
8937
|
-
zone: (
|
|
8802
|
+
zone: (Ne = i.otherLayers) == null ? void 0 : Ne["time-zones"],
|
|
8938
8803
|
"before-layer": a.beforeLayer
|
|
8939
8804
|
}, t.$attrs), null, 16, ["map", "zone", "before-layer"]),
|
|
8940
|
-
|
|
8805
|
+
M(pe, H({
|
|
8941
8806
|
map: a.map,
|
|
8942
|
-
area: (
|
|
8807
|
+
area: (je = i.otherLayers) == null ? void 0 : je["voluntary-reporting-area"],
|
|
8943
8808
|
"before-layer": a.beforeLayer
|
|
8944
8809
|
}, t.$attrs), null, 16, ["map", "area", "before-layer"]),
|
|
8945
|
-
|
|
8810
|
+
M(ue, H({
|
|
8946
8811
|
map: a.map,
|
|
8947
|
-
area: (
|
|
8812
|
+
area: (Re = i.otherLayers) == null ? void 0 : Re["special-area"],
|
|
8948
8813
|
"before-layer": a.beforeLayer
|
|
8949
8814
|
}, t.$attrs), null, 16, ["map", "area", "before-layer"]),
|
|
8950
|
-
|
|
8815
|
+
M(me, H({
|
|
8951
8816
|
map: a.map,
|
|
8952
|
-
area: (
|
|
8817
|
+
area: (Fe = i.otherLayers) == null ? void 0 : Fe["day-night"]
|
|
8953
8818
|
}, t.$attrs), null, 16, ["map", "area"]),
|
|
8954
|
-
|
|
8819
|
+
M(ge, H({
|
|
8955
8820
|
map: a.map,
|
|
8956
8821
|
show: i.showCoord,
|
|
8957
8822
|
"toggle-version": a.toggleVersion
|
|
8958
8823
|
}, t.$attrs), null, 16, ["map", "show", "toggle-version"]),
|
|
8959
|
-
|
|
8824
|
+
M(te, H({
|
|
8960
8825
|
map: a.map,
|
|
8961
8826
|
show: i.showMeasure
|
|
8962
8827
|
}, t.$attrs), null, 16, ["map", "show"]),
|
|
8963
|
-
|
|
8828
|
+
M(oe, H({
|
|
8964
8829
|
ref: "idmPoint",
|
|
8965
8830
|
map: a.map,
|
|
8966
8831
|
show: i.showPoint,
|
|
@@ -8970,21 +8835,21 @@ function No(t, e, a, r, i, o) {
|
|
|
8970
8835
|
gateway: i.gateway,
|
|
8971
8836
|
"forecast-model": a.forecastModel
|
|
8972
8837
|
}, t.$attrs), null, 16, ["map", "show", "meteo", "ts", "token", "gateway", "forecast-model"])
|
|
8973
|
-
], 512)) :
|
|
8838
|
+
], 512)) : j("", !0);
|
|
8974
8839
|
}
|
|
8975
|
-
const
|
|
8840
|
+
const _o = /* @__PURE__ */ S(To, [["render", So]]), Ko = {
|
|
8976
8841
|
install(t) {
|
|
8977
|
-
t.component("MapboxGL",
|
|
8842
|
+
t.component("MapboxGL", _o), t.component("TropicalGL", lt), t.component("LatLngGL", ct);
|
|
8978
8843
|
}
|
|
8979
8844
|
};
|
|
8980
8845
|
export {
|
|
8981
8846
|
ct as LatLngGL,
|
|
8982
|
-
|
|
8983
|
-
|
|
8847
|
+
_o as MapboxGL,
|
|
8848
|
+
Ko as MapboxGLPlugin,
|
|
8984
8849
|
ra as MapboxHelper,
|
|
8985
|
-
|
|
8850
|
+
ee as ParticleSchema,
|
|
8986
8851
|
lt as TropicalGL,
|
|
8987
|
-
|
|
8988
|
-
|
|
8989
|
-
|
|
8852
|
+
Je as Viewport,
|
|
8853
|
+
Ce as WebGL,
|
|
8854
|
+
Z as WebGLSchema
|
|
8990
8855
|
};
|