gisviewer-vue3-arcgis 1.0.113 → 1.0.115

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.
@@ -3,8 +3,6 @@ export default class TraceHoloFlow {
3
3
  private readonly traceRenderer;
4
4
  constructor(view: __esri.View);
5
5
  init(): Promise<void>;
6
- private appDataStore;
7
- private logTable;
8
6
  downloadLog(): void;
9
7
  /**
10
8
  * 处理全息流轨迹数据
@@ -1,131 +1,54 @@
1
1
  import * as m from "@arcgis/core/views/3d/externalRenderers";
2
- import u from "../../stores/index.mjs";
3
- import g from "./trace-renderer-external.mjs";
4
- import T from "./trace-renderer-layer.mjs";
5
- class L {
6
- constructor(t) {
7
- this.appDataStore = u.useAppDataStore, this.logTable = [
8
- [
9
- "uuid",
10
- "ptcId",
11
- "plateno",
12
- "timestamp",
13
- "localTimestamp",
14
- "timestamp_str",
15
- "speed",
16
- "laneNo",
17
- "objHeight",
18
- "objLength",
19
- "latitude",
20
- "longitude",
21
- "ptcType",
22
- "vehicleType",
23
- "vehicleColor",
24
- "plateColor",
25
- "sbdm",
26
- "heading",
27
- "fixAngle",
28
- "roadLayer",
29
- "status",
30
- "step",
31
- "receiveTimestamp"
32
- ]
33
- ], t.type === "3d" ? (this.traceRenderer = new g(t), m.add(
34
- t,
2
+ import f from "./trace-renderer-external.mjs";
3
+ import R from "./trace-renderer-layer.mjs";
4
+ class V {
5
+ constructor(e) {
6
+ e.type === "3d" ? (this.traceRenderer = new f(e), m.add(
7
+ e,
35
8
  this.traceRenderer
36
- )) : this.traceRenderer = new T(t);
9
+ )) : this.traceRenderer = new R(e);
37
10
  }
38
11
  async init() {
39
12
  await this.traceRenderer.init();
40
13
  }
41
14
  downloadLog() {
42
- const t = this.logTable.map((s) => s.join(",")).join(`
43
- `).replace(/null/g, ""), r = new Blob([t], { type: "text/csv;charset=utf-8;" }), l = URL.createObjectURL(r), a = document.createElement("a");
44
- a.setAttribute("href", l), a.setAttribute("download", "trace-log.csv"), a.style.visibility = "hidden", document.body.appendChild(a), a.click(), document.body.removeChild(a);
15
+ const e = this.traceRenderer.getLog().map((s) => s.join(",")).join(`
16
+ `).replace(/null/g, ""), o = new Blob([e], { type: "text/csv;charset=utf-8;" }), i = URL.createObjectURL(o), r = document.createElement("a");
17
+ r.setAttribute("href", i), r.setAttribute("download", "trace-log.csv"), r.style.visibility = "hidden", document.body.appendChild(r), r.click(), document.body.removeChild(r);
45
18
  }
46
19
  /**
47
20
  * 处理全息流轨迹数据
48
21
  * */
49
- async handleVehicleTraceData(t) {
50
- const { newVehList: r, updateVehList: l, deleteVehList: a, jgsj: s } = t, i = t.crossId || "", c = [], n = [], d = Date.now();
51
- if (r && r.length > 0) {
52
- for (const e of r) {
53
- e.localTimestamp || (e.localTimestamp = s || Date.now()), this.appDataStore.saveTrackLog && this.logTable.push([
54
- e.uuid,
55
- e.ptcId,
56
- e.plateno,
57
- e.timestamp,
58
- e.localTimestamp,
59
- e.timestamp_str,
60
- e.speed,
61
- e.laneNo,
62
- e.objHeight,
63
- e.objLength,
64
- e.latitude,
65
- e.longitude,
66
- e.ptcType,
67
- e.vehicleType,
68
- e.vehicleColor,
69
- e.plateColor,
70
- e.sbdm,
71
- e.heading,
72
- e.fixAngle,
73
- e.roadLayer,
74
- e.status,
75
- e.step,
76
- d
77
- ]);
78
- const o = this.buildVehicleTrackData(e, i);
79
- o && c.push(o);
22
+ async handleVehicleTraceData(e) {
23
+ const { newVehList: o, updateVehList: i, deleteVehList: r, jgsj: s } = e, n = e.crossId || "", l = [], a = [];
24
+ if (o && o.length > 0) {
25
+ for (const c of o) {
26
+ c.localTimestamp || (c.localTimestamp = s || Date.now());
27
+ const t = this.buildVehicleTrackData(c, n);
28
+ t && l.push(t);
80
29
  }
81
- await this.traceRenderer.addVehicles(c);
30
+ await this.traceRenderer.addVehicles(l);
82
31
  }
83
- if (l && l.length > 0) {
84
- const e = Date.now();
85
- for (const o of l) {
86
- this.appDataStore.saveTrackLog && this.logTable.push([
87
- o.uuid,
88
- o.ptcId,
89
- o.plateno,
90
- o.timestamp,
91
- o.localTimestamp,
92
- o.timestamp_str,
93
- o.speed,
94
- o.laneNo,
95
- o.objHeight,
96
- o.objLength,
97
- o.latitude,
98
- o.longitude,
99
- o.ptcType,
100
- o.vehicleType,
101
- o.vehicleColor,
102
- o.plateColor,
103
- o.sbdm,
104
- o.heading,
105
- o.fixAngle,
106
- o.roadLayer,
107
- o.status,
108
- o.step,
109
- e
110
- ]);
111
- const p = this.buildVehicleTrackData(o, i);
112
- p && n.push(p);
32
+ if (i && i.length > 0) {
33
+ for (const c of i) {
34
+ const t = this.buildVehicleTrackData(c, n);
35
+ t && a.push(t);
113
36
  }
114
- await this.traceRenderer.updateVehicles(n);
37
+ await this.traceRenderer.updateVehicles(a);
115
38
  }
116
- if (a && a.length > 0) {
117
- const e = a.map(
118
- (o) => i + "-" + (o.ptcId || o.vehno || o.vehNo)
39
+ if (r && r.length > 0) {
40
+ const c = r.map(
41
+ (t) => n + "-" + (t.ptcId || t.vehno || t.vehNo)
119
42
  );
120
- this.traceRenderer.deleteVehicles(e);
43
+ this.traceRenderer.deleteVehicles(c);
121
44
  }
122
45
  }
123
46
  /**
124
47
  * 切换交通信息可见性
125
48
  * @param params
126
49
  */
127
- toggleTrafficInfo(t) {
128
- this.traceRenderer.toggleTrafficInfo(t);
50
+ toggleTrafficInfo(e) {
51
+ this.traceRenderer.toggleTrafficInfo(e);
129
52
  }
130
53
  /**
131
54
  * 清除轨迹流
@@ -136,43 +59,44 @@ class L {
136
59
  /**
137
60
  * 切换暂停
138
61
  * */
139
- togglePause(t) {
140
- this.traceRenderer.togglePause(t);
62
+ togglePause(e) {
63
+ this.traceRenderer.togglePause(e);
141
64
  }
142
- updatePanelContent(t) {
143
- this.traceRenderer.updatePanelContent(t);
65
+ updatePanelContent(e) {
66
+ this.traceRenderer.updatePanelContent(e);
144
67
  }
145
- toggleGroundVehicle(t) {
146
- this.traceRenderer.toggleGroundVehicle(t);
68
+ toggleGroundVehicle(e) {
69
+ this.traceRenderer.toggleGroundVehicle(e);
147
70
  }
148
- toggleElevatedVehicle(t) {
149
- this.traceRenderer.toggleElevatedVehicle(t);
71
+ toggleElevatedVehicle(e) {
72
+ this.traceRenderer.toggleElevatedVehicle(e);
150
73
  }
151
- setInterpolate(t) {
152
- this.traceRenderer.setInterpolate(t);
74
+ setInterpolate(e) {
75
+ this.traceRenderer.setInterpolate(e);
153
76
  }
154
- buildVehicleTrackData(t, r) {
155
- const l = t.longitude, a = t.latitude, s = t.ptcId, i = Number(t.ptcType), c = t.heading, n = Number(t.vehicleType), d = Number(t.vehicleColor), e = t.plateNo || t.plateno, o = Number(t.plateColor), p = t.timestamp, h = t.roadLayer ? String(t.roadLayer) : "1";
156
- if (!(i < 0 || i > 8))
77
+ buildVehicleTrackData(e, o) {
78
+ const i = e.longitude, r = e.latitude, s = e.ptcId, n = Number(e.ptcType), l = e.heading, a = Number(e.vehicleType), c = Number(e.vehicleColor), t = e.plateNo || e.plateno, h = Number(e.plateColor), d = e.timestamp, p = e.localTimestamp, u = e.roadLayer ? String(e.roadLayer) : "1", g = e.step;
79
+ if (!(n < 0 || n > 8))
157
80
  return {
158
81
  ptcId: s,
159
- crossId: r,
160
- vehicleId: r + "-" + s,
161
- x: l,
162
- y: a,
163
- ptcType: i,
164
- vehicleType: n,
165
- heading: i === 2 ? -c : c,
166
- vehicleColor: d,
167
- showName: e && e !== "" && e !== "0" && e !== "000000" ? e : "",
168
- plateNo: e,
169
- plateColor: o,
170
- timestamp: p,
171
- localTimestamp: Date.now(),
172
- roadLayer: h
82
+ crossId: o,
83
+ vehicleId: o + "-" + s,
84
+ x: i,
85
+ y: r,
86
+ ptcType: n,
87
+ vehicleType: a,
88
+ heading: n === 2 ? -l : l,
89
+ vehicleColor: c,
90
+ showName: t && t !== "" && t !== "0" && t !== "000000" ? t : "",
91
+ plateNo: t,
92
+ plateColor: h,
93
+ timestamp: d,
94
+ localTimestamp: p,
95
+ roadLayer: u,
96
+ step: g
173
97
  };
174
98
  }
175
99
  }
176
100
  export {
177
- L as default
101
+ V as default
178
102
  };
@@ -12,7 +12,6 @@ export default class TraceRendererExternal implements ITraceRendererInterface {
12
12
  private readonly metalness;
13
13
  /** 默认车身材质 */
14
14
  private defaultMaterial;
15
- private readonly vehiclePool;
16
15
  private createCarMaterial;
17
16
  /** 车身颜色材质 */
18
17
  private materialMap;
@@ -39,7 +38,11 @@ export default class TraceRendererExternal implements ITraceRendererInterface {
39
38
  private vehicleObjectMap;
40
39
  private needInterpolate;
41
40
  private updateModel;
41
+ private appDataStore;
42
+ /** 轨迹日志 */
43
+ private logTable;
42
44
  constructor(view: __esri.SceneView);
45
+ getLog(): (string | number | undefined)[][];
43
46
  init(): Promise<void>;
44
47
  setInterpolate(needInterpolate: boolean): void;
45
48
  private context;