gisviewer-vue3-arcgis 1.0.226 → 1.0.228
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/es/src/gis-map/utils/holo-flow/signal-holo-flow-lsr.mjs +11 -11
- package/es/src/gis-map/utils/signal-control-area-controller/district-controller.d.ts +2 -1
- package/es/src/gis-map/utils/signal-control-area-controller/district-controller.mjs +22 -15
- package/es/src/gis-map/utils/signal-control-area-controller/layer-symbol.d.ts +8 -1
- package/es/src/gis-map/utils/signal-control-area-controller/layer-symbol.mjs +74 -56
- package/es/src/gis-map/utils/signal-control-area-controller/renderer/district-renderer.d.ts +40 -0
- package/es/src/gis-map/utils/signal-control-area-controller/renderer/district-renderer.mjs +123 -0
- package/es/src/gis-map/utils/signal-control-area-controller/renderer/signal-renderer.d.ts +22 -0
- package/es/src/gis-map/utils/signal-control-area-controller/renderer/signal-renderer.mjs +124 -0
- package/es/src/gis-map/utils/signal-control-area-controller/renderer/sub-district-renderer.d.ts +27 -0
- package/es/src/gis-map/utils/signal-control-area-controller/renderer/sub-district-renderer.mjs +142 -0
- package/es/src/gis-map/utils/signal-control-area-controller/show-area.d.ts +4 -14
- package/es/src/gis-map/utils/signal-control-area-controller/show-area.mjs +284 -341
- package/lib/src/gis-map/utils/holo-flow/signal-holo-flow-lsr.js +1 -1
- package/lib/src/gis-map/utils/signal-control-area-controller/district-controller.d.ts +2 -1
- package/lib/src/gis-map/utils/signal-control-area-controller/district-controller.js +1 -1
- package/lib/src/gis-map/utils/signal-control-area-controller/layer-symbol.d.ts +8 -1
- package/lib/src/gis-map/utils/signal-control-area-controller/layer-symbol.js +1 -1
- package/lib/src/gis-map/utils/signal-control-area-controller/renderer/district-renderer.d.ts +40 -0
- package/lib/src/gis-map/utils/signal-control-area-controller/renderer/district-renderer.js +1 -0
- package/lib/src/gis-map/utils/signal-control-area-controller/renderer/signal-renderer.d.ts +22 -0
- package/lib/src/gis-map/utils/signal-control-area-controller/renderer/signal-renderer.js +1 -0
- package/lib/src/gis-map/utils/signal-control-area-controller/renderer/sub-district-renderer.d.ts +27 -0
- package/lib/src/gis-map/utils/signal-control-area-controller/renderer/sub-district-renderer.js +1 -0
- package/lib/src/gis-map/utils/signal-control-area-controller/show-area.d.ts +4 -14
- package/lib/src/gis-map/utils/signal-control-area-controller/show-area.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import d from "@arcgis/core/Graphic";
|
|
2
|
+
import u from "@arcgis/core/layers/FeatureLayer";
|
|
3
|
+
import { signalMarkerLayerOptions as y, signalPictureLayerOptions as c, signalClusterLayerOptions as o } from "../layer-symbol.mjs";
|
|
4
|
+
class f {
|
|
5
|
+
constructor(e, a) {
|
|
6
|
+
this.view = e, this.hasGpu = a, this.signalMarkerLayer = new u(
|
|
7
|
+
y
|
|
8
|
+
), this.signalMarkerLayer.spatialReference = e.spatialReference, this.signalMarkerLayer.popupEnabled = !0, this.signalPictureLayer = new u(
|
|
9
|
+
c
|
|
10
|
+
), this.signalPictureLayer.spatialReference = e.spatialReference, this.signalPictureLayer.popupEnabled = !0, this.signalClusterLayer = new u(
|
|
11
|
+
o
|
|
12
|
+
), this.signalClusterLayer.spatialReference = e.spatialReference, this.signalClusterLayer.popupEnabled = !0, this.view.map.addMany([
|
|
13
|
+
this.signalMarkerLayer,
|
|
14
|
+
this.signalPictureLayer,
|
|
15
|
+
this.signalClusterLayer
|
|
16
|
+
]);
|
|
17
|
+
}
|
|
18
|
+
async showSignals(e) {
|
|
19
|
+
await this.clearSignals();
|
|
20
|
+
let a = 0;
|
|
21
|
+
const s = [];
|
|
22
|
+
e.forEach((r) => {
|
|
23
|
+
r.signals.forEach((i) => {
|
|
24
|
+
const t = new d({
|
|
25
|
+
geometry: {
|
|
26
|
+
type: "point",
|
|
27
|
+
longitude: i.longitude,
|
|
28
|
+
latitude: i.latitude
|
|
29
|
+
},
|
|
30
|
+
attributes: {
|
|
31
|
+
ObjectID: a++,
|
|
32
|
+
id: i.id,
|
|
33
|
+
name: i.name,
|
|
34
|
+
signalId: i.signalId,
|
|
35
|
+
nodeId: i.nodeId || i.id,
|
|
36
|
+
districtId: r.id,
|
|
37
|
+
districtName: r.name,
|
|
38
|
+
subDistrictId: "",
|
|
39
|
+
subDistrictName: "",
|
|
40
|
+
isKey: i.isKey,
|
|
41
|
+
type: "signal",
|
|
42
|
+
selected: !0
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
s.push(t);
|
|
46
|
+
}), r.subDistricts.forEach((i) => {
|
|
47
|
+
i.signals.forEach((t) => {
|
|
48
|
+
const n = new d({
|
|
49
|
+
geometry: {
|
|
50
|
+
type: "point",
|
|
51
|
+
longitude: t.longitude,
|
|
52
|
+
latitude: t.latitude
|
|
53
|
+
},
|
|
54
|
+
attributes: {
|
|
55
|
+
ObjectID: a++,
|
|
56
|
+
id: t.id,
|
|
57
|
+
name: t.name,
|
|
58
|
+
signalId: t.signalId,
|
|
59
|
+
nodeId: t.nodeId || t.id,
|
|
60
|
+
districtId: r.id,
|
|
61
|
+
districtName: r.name,
|
|
62
|
+
subDistrictId: i.id,
|
|
63
|
+
subDistrictName: i.name,
|
|
64
|
+
isKey: t.isKey,
|
|
65
|
+
type: "signal",
|
|
66
|
+
selected: !0
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
s.push(n);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
}), await this.signalMarkerLayer.applyEdits({
|
|
73
|
+
addFeatures: s
|
|
74
|
+
}), await this.signalPictureLayer.applyEdits({
|
|
75
|
+
addFeatures: s
|
|
76
|
+
}), await this.signalClusterLayer.applyEdits({
|
|
77
|
+
addFeatures: s
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
async clearSignals() {
|
|
81
|
+
let e = await this.signalMarkerLayer.queryFeatures();
|
|
82
|
+
await this.signalMarkerLayer.applyEdits({
|
|
83
|
+
deleteFeatures: e.features
|
|
84
|
+
}), this.signalMarkerLayer.definitionExpression = "1=1", e = await this.signalPictureLayer.queryFeatures(), await this.signalPictureLayer.applyEdits({
|
|
85
|
+
deleteFeatures: e.features
|
|
86
|
+
}), this.signalPictureLayer.definitionExpression = "1=1", e = await this.signalClusterLayer.queryFeatures(), await this.signalClusterLayer.applyEdits({
|
|
87
|
+
deleteFeatures: e.features
|
|
88
|
+
}), this.signalClusterLayer.definitionExpression = "1=1";
|
|
89
|
+
}
|
|
90
|
+
async setPointVisible(e) {
|
|
91
|
+
this.signalMarkerLayer.visible = e, this.signalPictureLayer.visible = e;
|
|
92
|
+
}
|
|
93
|
+
setClusterVisible(e) {
|
|
94
|
+
this.signalClusterLayer.visible = e;
|
|
95
|
+
}
|
|
96
|
+
async locateSignal(e) {
|
|
97
|
+
return { status: 0, message: "ok" };
|
|
98
|
+
}
|
|
99
|
+
async highlightSignal(e) {
|
|
100
|
+
let a = "", s = "";
|
|
101
|
+
const r = this.signalMarkerLayer.definitionExpression;
|
|
102
|
+
this.signalMarkerLayer.definitionExpression = `signalId = '${e}'`;
|
|
103
|
+
const i = await this.signalMarkerLayer.queryFeatures(), t = i.features.length;
|
|
104
|
+
if (t > 0) {
|
|
105
|
+
const n = i.features[0].attributes.districtId || "", l = i.features[0].attributes.subDistrictId || "";
|
|
106
|
+
return await this.view.goTo(i.features, {
|
|
107
|
+
duration: this.hasGpu ? 1e3 : 0
|
|
108
|
+
}), { districtId: n, subDistrictId: l, count: t };
|
|
109
|
+
} else
|
|
110
|
+
this.signalMarkerLayer.definitionExpression = r;
|
|
111
|
+
return { districtId: a, subDistrictId: s, count: t };
|
|
112
|
+
}
|
|
113
|
+
filter(e, a) {
|
|
114
|
+
const s = `${e === "district" ? "districtId" : "subDistrictId"} = '${a}'`;
|
|
115
|
+
this.signalClusterLayer.definitionExpression = s, this.signalMarkerLayer.definitionExpression = s, this.signalPictureLayer.definitionExpression = s;
|
|
116
|
+
}
|
|
117
|
+
resetFilter() {
|
|
118
|
+
const e = "1=1";
|
|
119
|
+
this.signalClusterLayer.definitionExpression = e, this.signalMarkerLayer.definitionExpression = e, this.signalPictureLayer.definitionExpression = e;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
export {
|
|
123
|
+
f as default
|
|
124
|
+
};
|
package/es/src/gis-map/utils/signal-control-area-controller/renderer/sub-district-renderer.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { IResult } from '../../../../types';
|
|
2
|
+
import DistrictController from '../district-controller';
|
|
3
|
+
export default class SubDistrictRenderer {
|
|
4
|
+
private view;
|
|
5
|
+
private hasGpu;
|
|
6
|
+
private subDistrictPointLayer;
|
|
7
|
+
constructor(view: __esri.MapView | __esri.SceneView, hasGpu: boolean);
|
|
8
|
+
showSubDistricts(controllers: DistrictController[]): Promise<void>;
|
|
9
|
+
clearSubDistricts(): Promise<void>;
|
|
10
|
+
setVisible(visible: boolean): void;
|
|
11
|
+
/**
|
|
12
|
+
* 定位子区
|
|
13
|
+
* @param id 子区ID
|
|
14
|
+
*/
|
|
15
|
+
locateSubDistrict(id: string): Promise<IResult>;
|
|
16
|
+
/**
|
|
17
|
+
* 高亮子区, 其他子区隐藏
|
|
18
|
+
* @param id 子区ID
|
|
19
|
+
* @return 返回高亮子区的数量以及区控id
|
|
20
|
+
*/
|
|
21
|
+
highlightSubDistrict(id: string): Promise<{
|
|
22
|
+
count: number;
|
|
23
|
+
parentId: string;
|
|
24
|
+
}>;
|
|
25
|
+
filter(type: string, id: string): void;
|
|
26
|
+
resetFilter(): void;
|
|
27
|
+
}
|
package/es/src/gis-map/utils/signal-control-area-controller/renderer/sub-district-renderer.mjs
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import n from "@arcgis/core/Graphic";
|
|
2
|
+
import o from "@arcgis/core/layers/FeatureLayer";
|
|
3
|
+
import { subDistrictPointLayerOptions as c } from "../layer-symbol.mjs";
|
|
4
|
+
class b {
|
|
5
|
+
constructor(t, i) {
|
|
6
|
+
this.view = t, this.hasGpu = i, this.subDistrictPointLayer = new o(
|
|
7
|
+
c
|
|
8
|
+
), this.subDistrictPointLayer.spatialReference = t.spatialReference, this.subDistrictPointLayer.popupEnabled = !0, this.view.map.add(this.subDistrictPointLayer);
|
|
9
|
+
}
|
|
10
|
+
async showSubDistricts(t) {
|
|
11
|
+
await this.clearSubDistricts();
|
|
12
|
+
let i = 0;
|
|
13
|
+
const s = [], r = [];
|
|
14
|
+
t.forEach((e) => {
|
|
15
|
+
r.push({
|
|
16
|
+
value: e.id,
|
|
17
|
+
label: e.name,
|
|
18
|
+
symbol: {
|
|
19
|
+
type: "simple-marker",
|
|
20
|
+
style: "circle",
|
|
21
|
+
color: [0, 0, 0, 0],
|
|
22
|
+
// color: [...controller.areaColor, 0.5],
|
|
23
|
+
size: "8px",
|
|
24
|
+
outline: {
|
|
25
|
+
color: [...e.areaColor],
|
|
26
|
+
width: 4
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}), e.signals.forEach((a) => {
|
|
30
|
+
const u = new n({
|
|
31
|
+
geometry: {
|
|
32
|
+
type: "point",
|
|
33
|
+
longitude: a.longitude,
|
|
34
|
+
latitude: a.latitude
|
|
35
|
+
},
|
|
36
|
+
attributes: {
|
|
37
|
+
ObjectID: i++,
|
|
38
|
+
id: a.id,
|
|
39
|
+
name: a.name,
|
|
40
|
+
subDistrictId: e.id,
|
|
41
|
+
subDistrictName: e.name,
|
|
42
|
+
districtId: e.parentId,
|
|
43
|
+
districtName: e.parentName,
|
|
44
|
+
signalCount: e.signalCount
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
s.push(u);
|
|
48
|
+
});
|
|
49
|
+
}), this.subDistrictPointLayer.renderer = {
|
|
50
|
+
type: "unique-value",
|
|
51
|
+
field: "subDistrictId",
|
|
52
|
+
defaultSymbol: {
|
|
53
|
+
type: "simple-marker",
|
|
54
|
+
color: "gray",
|
|
55
|
+
size: "8px",
|
|
56
|
+
outline: {
|
|
57
|
+
color: "white",
|
|
58
|
+
width: 1
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
defaultLabel: "其他子区",
|
|
62
|
+
uniqueValueInfos: r,
|
|
63
|
+
visualVariables: [
|
|
64
|
+
{
|
|
65
|
+
type: "size",
|
|
66
|
+
valueExpression: "$view.scale",
|
|
67
|
+
stops: [
|
|
68
|
+
{
|
|
69
|
+
size: 24,
|
|
70
|
+
value: 2500
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
size: 20,
|
|
74
|
+
value: 5e3
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
size: 8,
|
|
78
|
+
value: 18055.954822000003
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
size: 4,
|
|
82
|
+
value: 144447.638572
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
size: 2,
|
|
86
|
+
value: 1155581108577e-6
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
}, await this.subDistrictPointLayer.applyEdits({
|
|
92
|
+
addFeatures: s
|
|
93
|
+
}), await this.view.goTo(s, {
|
|
94
|
+
duration: this.hasGpu ? 1e3 : 0
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
async clearSubDistricts() {
|
|
98
|
+
const t = await this.subDistrictPointLayer.queryFeatures();
|
|
99
|
+
t.features.length > 0 && await this.subDistrictPointLayer.applyEdits({
|
|
100
|
+
deleteFeatures: t.features
|
|
101
|
+
}), this.subDistrictPointLayer.definitionExpression = "1=1";
|
|
102
|
+
}
|
|
103
|
+
setVisible(t) {
|
|
104
|
+
this.subDistrictPointLayer.visible = t;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* 定位子区
|
|
108
|
+
* @param id 子区ID
|
|
109
|
+
*/
|
|
110
|
+
async locateSubDistrict(t) {
|
|
111
|
+
const i = this.subDistrictPointLayer.createQuery();
|
|
112
|
+
i.where = `subDistrictId = '${t}'`, i.returnGeometry = !0;
|
|
113
|
+
const s = await this.subDistrictPointLayer.queryFeatures(i);
|
|
114
|
+
return s.features.length > 0 ? (await this.view.goTo(s.features, {
|
|
115
|
+
duration: this.hasGpu ? 1e3 : 0
|
|
116
|
+
}), { status: 0, message: "ok" }) : { status: 1, message: "未找到区控" };
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* 高亮子区, 其他子区隐藏
|
|
120
|
+
* @param id 子区ID
|
|
121
|
+
* @return 返回高亮子区的数量以及区控id
|
|
122
|
+
*/
|
|
123
|
+
async highlightSubDistrict(t) {
|
|
124
|
+
let i = "";
|
|
125
|
+
const s = this.subDistrictPointLayer.definitionExpression;
|
|
126
|
+
this.subDistrictPointLayer.definitionExpression = `subDistrictId = '${t}'`;
|
|
127
|
+
const r = await this.subDistrictPointLayer.queryFeatures(), e = r.features.length;
|
|
128
|
+
return e > 0 ? (i = r.features[0].attributes.districtId, await this.view.goTo(r.features, {
|
|
129
|
+
duration: this.hasGpu ? 1e3 : 0
|
|
130
|
+
})) : this.subDistrictPointLayer.definitionExpression = s, { count: e, parentId: i };
|
|
131
|
+
}
|
|
132
|
+
filter(t, i) {
|
|
133
|
+
const s = `${t === "district" ? "districtId" : "subDistrictId"} = '${i}'`;
|
|
134
|
+
this.subDistrictPointLayer.definitionExpression = s;
|
|
135
|
+
}
|
|
136
|
+
resetFilter() {
|
|
137
|
+
this.subDistrictPointLayer.definitionExpression = "1=1";
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
export {
|
|
141
|
+
b as default
|
|
142
|
+
};
|
|
@@ -5,18 +5,10 @@ export default class SignalControlAreaController1 {
|
|
|
5
5
|
/** 支队图层 */
|
|
6
6
|
private detachmentLayer;
|
|
7
7
|
private detachmentLayerLoaded;
|
|
8
|
-
|
|
9
|
-
private
|
|
10
|
-
|
|
11
|
-
private districtControllerSolidLayer;
|
|
8
|
+
private districtRenderer;
|
|
9
|
+
private subDistrictRenderer;
|
|
10
|
+
private signalRenderer;
|
|
12
11
|
/** 子区图层 */
|
|
13
|
-
private subDistrictControllerLayer;
|
|
14
|
-
/** 信号机圆点图层 */
|
|
15
|
-
private signalMarkerLayer;
|
|
16
|
-
/** 信号机图标图层 */
|
|
17
|
-
private signalPictureLayer;
|
|
18
|
-
/** 信号机聚合图层 */
|
|
19
|
-
private signalClusterLayer;
|
|
20
12
|
private clickHandler;
|
|
21
13
|
private districtControllerOid;
|
|
22
14
|
private subDistrictControllerOid;
|
|
@@ -77,15 +69,13 @@ export default class SignalControlAreaController1 {
|
|
|
77
69
|
* @returns
|
|
78
70
|
*/
|
|
79
71
|
private generateGraphic;
|
|
80
|
-
private viewHitTest;
|
|
81
72
|
/**
|
|
82
73
|
* 重置所有graphic的置灰状态
|
|
83
74
|
*/
|
|
84
|
-
private resetSelectedSymbol;
|
|
85
75
|
/**
|
|
86
76
|
* 加载支队图层
|
|
87
77
|
* 现场环境用url创建FeatureLayer有各种问题,
|
|
88
|
-
*
|
|
78
|
+
* 改为图层导出为json,用json创建Graphic,再将Graphic添加到FeatureLayer
|
|
89
79
|
*/
|
|
90
80
|
private loadDetachmentLayer;
|
|
91
81
|
}
|