gisviewer-vue3-arcgis 1.0.204 → 1.0.206

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.
@@ -14,7 +14,7 @@ class e {
14
14
  latitude: Number(t.latitude),
15
15
  longitude: Number(t.longitude),
16
16
  signalId: t.signalId,
17
- nodeId: t.id,
17
+ nodeId: t.nodeId,
18
18
  isKey: t.isKey === 1
19
19
  };
20
20
  this.signals.push(s), this.signalCount++;
@@ -16,6 +16,8 @@ export default class SignalControlAreaController1 {
16
16
  private subDistrictControllerOid;
17
17
  private signalOid;
18
18
  constructor(view: __esri.MapView | __esri.SceneView);
19
+ /** 暂存等待绘制的区控graphic */
20
+ private districtGraphics;
19
21
  /** 暂存等待绘制的子区graphic */
20
22
  private subDistrictGraphics;
21
23
  /**
@@ -1,17 +1,17 @@
1
- import y from "@arcgis/core/Graphic";
1
+ import u from "@arcgis/core/Graphic";
2
2
  import a from "@arcgis/core/layers/FeatureLayer";
3
3
  import c from "@turf/buffer";
4
4
  import p from "@turf/convex";
5
- import * as l from "@turf/helpers";
6
- import m from "concaveman";
7
- import h from "../../stores/index.mjs";
5
+ import * as n from "@turf/helpers";
6
+ import h from "concaveman";
7
+ import m from "../../stores/index.mjs";
8
8
  import g from "./district-controller.mjs";
9
9
  class S {
10
10
  constructor(e) {
11
- var r;
12
- this.districtControllerOid = 0, this.subDistrictControllerOid = 0, this.signalOid = 0, this.subDistrictGraphics = [], this.view = e, this.hasGpu = localStorage.getItem("gpu") !== "Unknown";
13
- const s = h.useAppDataStore.mapConfig;
14
- this.openDriveServer = (r = s.openDriveServer) == null ? void 0 : r.url, this.districtControllerDashLayer = new a({
11
+ var s;
12
+ this.districtControllerOid = 0, this.subDistrictControllerOid = 0, this.signalOid = 0, this.districtGraphics = [], this.subDistrictGraphics = [], this.view = e, this.hasGpu = localStorage.getItem("gpu") !== "Unknown";
13
+ const i = m.useAppDataStore.mapConfig;
14
+ this.openDriveServer = (s = i.openDriveServer) == null ? void 0 : s.url, this.districtControllerDashLayer = new a({
15
15
  id: "districtController",
16
16
  spatialReference: e.spatialReference,
17
17
  source: [],
@@ -576,17 +576,20 @@ class S {
576
576
  */
577
577
  async showSignalControlArea(e) {
578
578
  await this.clearSignalControlArea(), this.districtControllerDashLayer.visible = !0, this.districtControllerSolidLayer.visible = !0, this.subDistrictControllerLayer.visible = !1, this.signalMarkerLayer.visible = !1, this.signalPictureLayer.visible = !1;
579
- for (const s of e.areaList) {
580
- const r = new g(
581
- s,
579
+ for (const r of e.areaList) {
580
+ const i = new g(
581
+ r,
582
582
  e.style || ""
583
583
  );
584
- await this.drawArea(r, !0), await this.subDistrictControllerLayer.applyEdits({
584
+ await this.drawArea(i, !0), await this.subDistrictControllerLayer.applyEdits({
585
585
  addFeatures: this.subDistrictGraphics
586
586
  }), this.subDistrictGraphics = [];
587
587
  }
588
- const t = await this.districtControllerDashLayer.queryFeatures();
589
- return this.view.goTo(t.features), { status: 0, message: "ok" };
588
+ return await this.districtControllerDashLayer.applyEdits({
589
+ addFeatures: this.districtGraphics
590
+ }), await this.districtControllerSolidLayer.applyEdits({
591
+ addFeatures: this.districtGraphics
592
+ }), this.view.goTo(this.districtGraphics), this.districtGraphics = [], { status: 0, message: "ok" };
590
593
  }
591
594
  /**
592
595
  * 清空区控、子区、信号机
@@ -634,30 +637,30 @@ class S {
634
637
  async locateSignalControlArea(e) {
635
638
  switch (e.type) {
636
639
  case "district": {
637
- const r = this.districtControllerDashLayer.createQuery();
638
- r.where = `id = '${e.id}'`, r.returnGeometry = !0, r.outFields = ["*"];
639
- const i = await this.districtControllerDashLayer.queryFeatures(
640
- r
640
+ const s = this.districtControllerDashLayer.createQuery();
641
+ s.where = `id = '${e.id}'`, s.returnGeometry = !0, s.outFields = ["*"];
642
+ const t = await this.districtControllerDashLayer.queryFeatures(
643
+ s
641
644
  );
642
- return i.features.length > 0 ? (await this.view.goTo(i.features, {
645
+ return t.features.length > 0 ? (await this.view.goTo(t.features, {
643
646
  duration: this.hasGpu ? 1e3 : 0
644
647
  }), { status: 0, message: "ok" }) : { status: 1, message: "未找到区控" };
645
648
  }
646
649
  case "subDistrict":
647
- const t = this.subDistrictControllerLayer.createQuery();
648
- t.where = `id = '${e.id}'`, t.returnGeometry = !0, t.outFields = ["*"];
649
- const s = await this.subDistrictControllerLayer.queryFeatures(
650
- t
650
+ const r = this.subDistrictControllerLayer.createQuery();
651
+ r.where = `id = '${e.id}'`, r.returnGeometry = !0, r.outFields = ["*"];
652
+ const i = await this.subDistrictControllerLayer.queryFeatures(
653
+ r
651
654
  );
652
- return s.features.length > 0 ? (await this.view.goTo(s.features, {
655
+ return i.features.length > 0 ? (await this.view.goTo(i.features, {
653
656
  duration: this.hasGpu ? 1e3 : 0
654
657
  }), { status: 0, message: "ok" }) : { status: 1, message: "未找到子区" };
655
658
  case "signal": {
656
- const r = this.signalMarkerLayer.createQuery();
657
- r.where = `id = '${e.id}'`, r.returnGeometry = !0, r.outFields = ["*"];
658
- const i = await this.signalMarkerLayer.queryFeatures(r);
659
- return i.features.length > 0 ? (await this.view.goTo(
660
- { target: i.features[0], scale: 2500 },
659
+ const s = this.signalMarkerLayer.createQuery();
660
+ s.where = `id = '${e.id}'`, s.returnGeometry = !0, s.outFields = ["*"];
661
+ const t = await this.signalMarkerLayer.queryFeatures(s);
662
+ return t.features.length > 0 ? (await this.view.goTo(
663
+ { target: t.features[0], scale: 2500 },
661
664
  {
662
665
  duration: this.hasGpu ? 1e3 : 0
663
666
  }
@@ -675,36 +678,41 @@ class S {
675
678
  async highlightSignalControlArea(e) {
676
679
  switch (e.type) {
677
680
  case "district": {
678
- this.districtControllerDashLayer.definitionExpression = `id = '${e.id}'`, this.districtControllerSolidLayer.definitionExpression = `id = '${e.id}'`, this.subDistrictControllerLayer.definitionExpression = `parentId = '${e.id}'`, this.signalMarkerLayer.definitionExpression = `districtId = '${e.id}'`, this.signalPictureLayer.definitionExpression = `districtId = '${e.id}'`;
679
- const t = await this.districtControllerDashLayer.queryFeatures();
680
- return t.features.length > 0 ? (await this.view.goTo(t.features, {
681
+ const r = this.districtControllerDashLayer.definitionExpression;
682
+ this.districtControllerDashLayer.definitionExpression = `id = '${e.id}'`;
683
+ const i = await this.districtControllerDashLayer.queryFeatures();
684
+ return i.features.length > 0 ? (this.districtControllerSolidLayer.definitionExpression = `id = '${e.id}'`, this.subDistrictControllerLayer.definitionExpression = `parentId = '${e.id}'`, this.signalMarkerLayer.definitionExpression = `districtId = '${e.id}'`, this.signalPictureLayer.definitionExpression = `districtId = '${e.id}'`, await this.view.goTo(i.features, {
681
685
  duration: this.hasGpu ? 1e3 : 0
682
- }), { status: 0, message: "ok" }) : { status: 1, message: "未找到区控" };
686
+ }), { status: 0, message: "ok" }) : (this.districtControllerDashLayer.definitionExpression = r, { status: 1, message: "未找到区控" });
683
687
  }
684
688
  case "subDistrict": {
685
- this.subDistrictControllerLayer.definitionExpression = `id = '${e.id}'`, this.signalMarkerLayer.definitionExpression = `subDistrictId = '${e.id}'`, this.signalPictureLayer.definitionExpression = `subDistrictId = '${e.id}'`;
686
- const t = await this.subDistrictControllerLayer.queryFeatures();
687
- if (t.features.length > 0) {
688
- const r = t.features[0].attributes.parentId;
689
- return this.districtControllerDashLayer.definitionExpression = `id = '${r}'`, this.districtControllerSolidLayer.definitionExpression = `id = '${r}'`, await this.view.goTo(t.features, {
689
+ const r = this.subDistrictControllerLayer.definitionExpression;
690
+ this.subDistrictControllerLayer.definitionExpression = `id = '${e.id}'`;
691
+ const i = await this.subDistrictControllerLayer.queryFeatures();
692
+ if (i.features.length > 0) {
693
+ this.signalMarkerLayer.definitionExpression = `subDistrictId = '${e.id}'`, this.signalPictureLayer.definitionExpression = `subDistrictId = '${e.id}'`;
694
+ const t = i.features[0].attributes.parentId;
695
+ return this.districtControllerDashLayer.definitionExpression = `id = '${t}'`, this.districtControllerSolidLayer.definitionExpression = `id = '${t}'`, await this.view.goTo(i.features, {
690
696
  duration: this.hasGpu ? 1e3 : 0
691
697
  }), { status: 0, message: "ok" };
692
698
  } else
693
- return { status: 1, message: "未找到子区" };
699
+ return this.subDistrictControllerLayer.definitionExpression = r, { status: 1, message: "未找到子区" };
694
700
  }
695
701
  case "signal": {
696
- this.signalMarkerLayer.definitionExpression = `id = '${e.id}'`, this.signalPictureLayer.definitionExpression = `id = '${e.id}'`;
697
- const t = await this.signalMarkerLayer.queryFeatures();
698
- if (t.features.length > 0) {
699
- const s = t.features[0], { districtId: r, subDistrictId: i } = s.attributes;
700
- return this.districtControllerDashLayer.definitionExpression = `id = '${r}'`, this.districtControllerSolidLayer.definitionExpression = `id = '${r}'`, this.subDistrictControllerLayer.definitionExpression = `id = '${i}'`, await this.view.goTo(
701
- { target: t.features, zoom: 2500 },
702
+ const r = this.signalMarkerLayer.definitionExpression;
703
+ this.signalMarkerLayer.definitionExpression = `id = '${e.id}'`;
704
+ const i = await this.signalMarkerLayer.queryFeatures();
705
+ if (i.features.length > 0) {
706
+ this.signalPictureLayer.definitionExpression = `id = '${e.id}'`;
707
+ const s = i.features[0], { districtId: t, subDistrictId: o } = s.attributes;
708
+ return this.districtControllerDashLayer.definitionExpression = `id = '${t}'`, this.districtControllerSolidLayer.definitionExpression = `id = '${t}'`, this.subDistrictControllerLayer.definitionExpression = `id = '${o}'`, await this.view.goTo(
709
+ { target: i.features, zoom: 2500 },
702
710
  {
703
711
  duration: this.hasGpu ? 1e3 : 0
704
712
  }
705
713
  ), { status: 0, message: "ok" };
706
714
  } else
707
- return { status: 1, message: "未找到信号机" };
715
+ return this.signalMarkerLayer.definitionExpression = r, { status: 1, message: "未找到信号机" };
708
716
  }
709
717
  default:
710
718
  return { status: 1, message: "未知类型" };
@@ -727,38 +735,38 @@ class S {
727
735
  * @param isDistrict 是否是区控
728
736
  * @returns
729
737
  */
730
- async drawArea(e, t) {
731
- const s = e.getAllSignalCoordinates();
732
- if (s.length >= 2) {
733
- let i = null;
734
- if (s.length === 2)
735
- i = l.lineString(s);
738
+ async drawArea(e, r) {
739
+ const i = e.getAllSignalCoordinates();
740
+ if (i.length >= 2) {
741
+ let t = null;
742
+ if (i.length === 2)
743
+ t = n.lineString(i);
736
744
  else {
737
- if (t) {
738
- const n = l.featureCollection(
739
- s.map((d) => l.point(d))
745
+ if (r) {
746
+ const l = n.featureCollection(
747
+ i.map((y) => n.point(y))
740
748
  );
741
- i = p(n);
749
+ t = p(l);
742
750
  } else {
743
- const n = m(s, 0.5);
744
- n.length >= 4 && (i = l.polygon([n]));
751
+ const l = h(i, 0.5);
752
+ l.length >= 4 && (t = n.polygon([l]));
745
753
  }
746
- i || (i = l.lineString(s));
754
+ t || (t = n.lineString(i));
747
755
  }
748
- const u = c(
749
- i.geometry,
756
+ const o = c(
757
+ t.geometry,
750
758
  // 区控面积更大,需要更大的缓冲半径
751
- t ? 200 : 30,
759
+ r ? 200 : 30,
752
760
  {
753
761
  units: "meters"
754
762
  }
755
- ), o = new y({
763
+ ), d = new u({
756
764
  geometry: {
757
765
  type: "polyline",
758
- paths: u.geometry.coordinates
766
+ paths: o.geometry.coordinates
759
767
  },
760
768
  attributes: {
761
- ObjectID: t ? this.districtControllerOid++ : this.subDistrictControllerOid++,
769
+ ObjectID: r ? this.districtControllerOid++ : this.subDistrictControllerOid++,
762
770
  id: e.id,
763
771
  name: e.name,
764
772
  subDistrictCount: e.subDistrictCount,
@@ -767,37 +775,33 @@ class S {
767
775
  parentName: e.parentName
768
776
  }
769
777
  });
770
- t ? (await this.districtControllerDashLayer.applyEdits({
771
- addFeatures: [o]
772
- }), await this.districtControllerSolidLayer.applyEdits({
773
- addFeatures: [o]
774
- })) : this.subDistrictGraphics.push(o);
778
+ r ? this.districtGraphics.push(d) : this.subDistrictGraphics.push(d);
775
779
  }
776
- for (const i of e.subDistricts)
777
- await this.drawArea(i, !1);
778
- const r = e.signals.map((i) => new y({
780
+ for (const t of e.subDistricts)
781
+ await this.drawArea(t, !1);
782
+ const s = e.signals.map((t) => new u({
779
783
  geometry: {
780
784
  type: "point",
781
- x: i.longitude,
782
- y: i.latitude
785
+ x: t.longitude,
786
+ y: t.latitude
783
787
  },
784
788
  attributes: {
785
789
  ObjectID: this.signalOid++,
786
- id: i.id,
787
- name: i.name,
788
- signalId: i.signalId,
789
- nodeId: i.id,
790
- isKey: i.isKey,
791
- districtId: t ? e.id : e.parentId,
792
- districtName: t ? e.name : e.parentName,
793
- subDistrictId: t ? "" : e.id,
794
- subDistrictName: t ? "" : e.name
790
+ id: t.id,
791
+ name: t.name,
792
+ signalId: t.signalId,
793
+ nodeId: t.nodeId,
794
+ isKey: t.isKey,
795
+ districtId: r ? e.id : e.parentId,
796
+ districtName: r ? e.name : e.parentName,
797
+ subDistrictId: r ? "" : e.id,
798
+ subDistrictName: r ? "" : e.name
795
799
  }
796
800
  }));
797
801
  await this.signalMarkerLayer.applyEdits({
798
- addFeatures: r
802
+ addFeatures: s
799
803
  }), await this.signalPictureLayer.applyEdits({
800
- addFeatures: r
804
+ addFeatures: s
801
805
  });
802
806
  }
803
807
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("../common-utils.js");class n{constructor(i,e){this.parentName="",this.signals=[],this.subDistricts=[],this.signalCount=0,this.subDistrictCount=0,this.id=i.name,this.name=i.areaDesc,this.parentId=i.parentId,this.areaColor=e==="alarm"?[255,0,0]:[61,139,249];for(const t of i.children)if(t.children){const s=new n(t,e);s.id=t.id,s.name=`SS ${t.name}`,s.parentId=this.id,s.parentName=this.name,this.subDistricts.push(s),this.subDistrictCount++,this.signalCount+=s.signalCount}else if(o.default.isCoordinateValid(t)){const s={id:t.id,name:t.name,parentId:t.parentId,latitude:Number(t.latitude),longitude:Number(t.longitude),signalId:t.signalId,nodeId:t.id,isKey:t.isKey===1};this.signals.push(s),this.signalCount++}}getAllSignalCoordinates(){const i=[];for(const e of this.signals)i.push([e.longitude,e.latitude]);for(const e of this.subDistricts)i.push(...e.getAllSignalCoordinates());return i}}exports.default=n;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("../common-utils.js");class n{constructor(i,e){this.parentName="",this.signals=[],this.subDistricts=[],this.signalCount=0,this.subDistrictCount=0,this.id=i.name,this.name=i.areaDesc,this.parentId=i.parentId,this.areaColor=e==="alarm"?[255,0,0]:[61,139,249];for(const t of i.children)if(t.children){const s=new n(t,e);s.id=t.id,s.name=`SS ${t.name}`,s.parentId=this.id,s.parentName=this.name,this.subDistricts.push(s),this.subDistrictCount++,this.signalCount+=s.signalCount}else if(o.default.isCoordinateValid(t)){const s={id:t.id,name:t.name,parentId:t.parentId,latitude:Number(t.latitude),longitude:Number(t.longitude),signalId:t.signalId,nodeId:t.nodeId,isKey:t.isKey===1};this.signals.push(s),this.signalCount++}}getAllSignalCoordinates(){const i=[];for(const e of this.signals)i.push([e.longitude,e.latitude]);for(const e of this.subDistricts)i.push(...e.getAllSignalCoordinates());return i}}exports.default=n;
@@ -16,6 +16,8 @@ export default class SignalControlAreaController1 {
16
16
  private subDistrictControllerOid;
17
17
  private signalOid;
18
18
  constructor(view: __esri.MapView | __esri.SceneView);
19
+ /** 暂存等待绘制的区控graphic */
20
+ private districtGraphics;
19
21
  /** 暂存等待绘制的子区graphic */
20
22
  private subDistrictGraphics;
21
23
  /**
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("@arcgis/core/Graphic"),n=require("@arcgis/core/layers/FeatureLayer"),p=require("@turf/buffer"),m=require("@turf/convex"),h=require("@turf/helpers"),g=require("concaveman"),f=require("../../stores/index.js"),b=require("./district-controller.js");function C(a){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const t in a)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(a,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>a[t]})}}return e.default=a,Object.freeze(e)}const l=C(h);class I{constructor(e){var r;this.districtControllerOid=0,this.subDistrictControllerOid=0,this.signalOid=0,this.subDistrictGraphics=[],this.view=e,this.hasGpu=localStorage.getItem("gpu")!=="Unknown";const s=f.default.useAppDataStore.mapConfig;this.openDriveServer=(r=s.openDriveServer)==null?void 0:r.url,this.districtControllerDashLayer=new n({id:"districtController",spatialReference:e.spatialReference,source:[],objectIdField:"ObjectID",geometryType:"polyline",outFields:["*"],fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"name",type:"string"},{name:"subDistrictCount",type:"integer"},{name:"signalCount",type:"integer"}],renderer:{type:"simple",symbol:{type:"simple-line",style:"long-dash",color:[111,100,255],width:3}}}),this.districtControllerSolidLayer=new n({id:"districtController",spatialReference:e.spatialReference,source:[],objectIdField:"ObjectID",outFields:["*"],geometryType:"polyline",fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"name",type:"string"},{name:"subDistrictCount",type:"integer"},{name:"signalCount",type:"integer"}],popupTemplate:{title:"{name}",content:[{type:"fields",fieldInfos:[{fieldName:"id",label:"区控编号"},{fieldName:"subDistrictCount",label:"子区数量"},{fieldName:"signalCount",label:"信号机数量"}]}]},renderer:{type:"simple",symbol:{type:"simple-line",style:"solid",color:[111,100,255,.4],width:3}}}),this.subDistrictControllerLayer=new n({id:"subDistrictController",spatialReference:e.spatialReference,source:[],objectIdField:"ObjectID",outFields:["*"],geometryType:"polyline",fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"name",type:"string"},{name:"parentId",type:"string"},{name:"parentName",type:"string"},{name:"signalCount",type:"integer"}],popupTemplate:{title:"{name} 子区",content:[{type:"fields",fieldInfos:[{fieldName:"id",label:"区控编号"},{fieldName:"parentName",label:"所属区控"},{fieldName:"signalCount",label:"信号机数量"}]}]},renderer:{type:"simple",symbol:{type:"simple-line",style:"solid",color:[5,196,104],width:3}}}),this.signalMarkerLayer=new n({id:"signalLayer",spatialReference:e.spatialReference,source:[],objectIdField:"ObjectID",outFields:["*"],geometryType:"point",maxScale:5e3,fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"name",type:"string"},{name:"signalId",type:"string"},{name:"nodeId",type:"string"},{name:"isKey",type:"string"},{name:"districtId",type:"string"},{name:"districtName",type:"string"},{name:"subDistrictId",type:"string"},{name:"subDistrictName",type:"string"}],popupTemplate:{title:"{name}信号机",content:[{type:"fields",fieldInfos:[{fieldName:"districtName",label:"区控名称"},{fieldName:"subDistrictName",label:"子区名称"},{fieldName:"signalId",label:"信号机编号"},{fieldName:"nodeId",label:"路口编号"}]}]},renderer:{type:"unique-value",field:"isKey",defaultSymbol:{type:"simple-marker",style:"circle",color:"gray",size:4,outline:{color:"white",width:1}},uniqueValueInfos:[{value:"true",symbol:{type:"simple-marker",style:"circle",color:[254,172,22],size:12,outline:{color:"white",width:1}}},{value:"false",symbol:{type:"simple-marker",style:"circle",color:[5,116,255],size:8,outline:{color:"white",width:1}}}]}}),this.signalPictureLayer=new n({id:"signalLayer",spatialReference:e.spatialReference,source:[],objectIdField:"ObjectID",outFields:["*"],geometryType:"point",minScale:5e3,fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"name",type:"string"},{name:"signalId",type:"string"},{name:"nodeId",type:"string"},{name:"isKey",type:"string"},{name:"districtId",type:"string"},{name:"districtName",type:"string"},{name:"subDistrictId",type:"string"},{name:"subDistrictName",type:"string"}],popupTemplate:{title:"{name}信号机",content:[{type:"fields",fieldInfos:[{fieldName:"districtName",label:"区控名称"},{fieldName:"subDistrictName",label:"子区名称"},{fieldName:"signalId",label:"信号机编号"},{fieldName:"nodeId",label:"路口编号"}]}]},renderer:{type:"unique-value",field:"isKey",defaultSymbol:{type:"simple-marker",style:"circle",color:"gray",size:4,outline:{color:"white",width:1}},uniqueValueInfos:[{value:"true",symbol:{type:"cim",data:{type:"CIMSymbolReference",primitiveOverrides:[{type:"CIMPrimitiveOverride",primitiveName:"textGraphic",propertyName:"TextString",valueExpressionInfo:{type:"CIMExpressionInfo",title:"Custom",expression:'Replace($feature.name, "与", "/") + " " + $feature.signalId',returnType:"Default"}}],symbol:{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",size:32,colorLocked:!0,anchorPointUnits:"Relative",frame:{xmin:-16,ymin:-16,xmax:16,ymax:16},markerGraphics:[{type:"CIMMarkerGraphic",primitiveName:"textGraphic",geometry:{x:0,y:0},symbol:{type:"CIMTextSymbol",height:12,horizontalAlignment:"Center",offsetX:0,offsetY:30,haloSize:1,haloSymbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[255,255,255,255]}]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[0,0,0,255]}]},verticalAlignment:"Center"},textString:""}],scaleSymbolsProportionally:!0,respectFrame:!0},{type:"CIMPictureMarker",enable:!0,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",size:40,rotateClockwise:!0,textureFilter:"Picture",url:"/GisViewerAssets/Images/cross/gis_gjxklk_orange.png"}]}}}},{value:"false",symbol:{type:"cim",data:{type:"CIMSymbolReference",primitiveOverrides:[{type:"CIMPrimitiveOverride",primitiveName:"textGraphic",propertyName:"TextString",valueExpressionInfo:{type:"CIMExpressionInfo",title:"Custom",expression:'Replace($feature.name, "与", "/") + " " + $feature.signalId',returnType:"Default"}}],symbol:{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",size:32,colorLocked:!0,anchorPointUnits:"Relative",frame:{xmin:-16,ymin:-16,xmax:16,ymax:16},markerGraphics:[{type:"CIMMarkerGraphic",primitiveName:"textGraphic",geometry:{x:0,y:0},symbol:{type:"CIMTextSymbol",height:12,horizontalAlignment:"Center",offsetX:0,offsetY:15,haloSize:1,haloSymbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[255,255,255,255]}]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[0,0,0,255]}]},verticalAlignment:"Center"},textString:""}],scaleSymbolsProportionally:!0,respectFrame:!0},{type:"CIMPictureMarker",enable:!0,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",size:20,rotateClockwise:!0,textureFilter:"Picture",url:"/GisViewerAssets/Images/cross/gis_xhj_blue.png"}]}}}}]}}),this.view.map.addMany([this.districtControllerSolidLayer,this.districtControllerDashLayer,this.subDistrictControllerLayer,this.signalMarkerLayer,this.signalPictureLayer])}async showSignalControlArea(e){await this.clearSignalControlArea(),this.districtControllerDashLayer.visible=!0,this.districtControllerSolidLayer.visible=!0,this.subDistrictControllerLayer.visible=!1,this.signalMarkerLayer.visible=!1,this.signalPictureLayer.visible=!1;for(const s of e.areaList){const r=new b.default(s,e.style||"");await this.drawArea(r,!0),await this.subDistrictControllerLayer.applyEdits({addFeatures:this.subDistrictGraphics}),this.subDistrictGraphics=[]}const t=await this.districtControllerDashLayer.queryFeatures();return this.view.goTo(t.features),{status:0,message:"ok"}}async clearSignalControlArea(){this.districtControllerOid=0,this.subDistrictControllerOid=0,this.signalOid=0;let e=await this.districtControllerDashLayer.queryFeatures();return await this.districtControllerDashLayer.applyEdits({deleteFeatures:e.features}),e=await this.districtControllerSolidLayer.queryFeatures(),await this.districtControllerSolidLayer.applyEdits({deleteFeatures:e.features}),e=await this.subDistrictControllerLayer.queryFeatures(),await this.subDistrictControllerLayer.applyEdits({deleteFeatures:e.features}),e=await this.signalMarkerLayer.queryFeatures(),await this.signalMarkerLayer.applyEdits({deleteFeatures:e.features}),e=await this.signalPictureLayer.queryFeatures(),await this.signalPictureLayer.applyEdits({deleteFeatures:e.features}),{status:0,message:"ok"}}setLayerVisibility(e){switch(e.visible===!1&&this.view.closePopup(),e.id){case"district":this.districtControllerDashLayer.visible=e.visible,this.districtControllerSolidLayer.visible=e.visible;break;case"subDistrict":this.subDistrictControllerLayer.visible=e.visible;break;case"signal":this.signalMarkerLayer.visible=e.visible,this.signalPictureLayer.visible=e.visible;break}return{status:0,message:"ok"}}async locateSignalControlArea(e){switch(e.type){case"district":{const r=this.districtControllerDashLayer.createQuery();r.where=`id = '${e.id}'`,r.returnGeometry=!0,r.outFields=["*"];const i=await this.districtControllerDashLayer.queryFeatures(r);return i.features.length>0?(await this.view.goTo(i.features,{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}):{status:1,message:"未找到区控"}}case"subDistrict":const t=this.subDistrictControllerLayer.createQuery();t.where=`id = '${e.id}'`,t.returnGeometry=!0,t.outFields=["*"];const s=await this.subDistrictControllerLayer.queryFeatures(t);return s.features.length>0?(await this.view.goTo(s.features,{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}):{status:1,message:"未找到子区"};case"signal":{const r=this.signalMarkerLayer.createQuery();r.where=`id = '${e.id}'`,r.returnGeometry=!0,r.outFields=["*"];const i=await this.signalMarkerLayer.queryFeatures(r);return i.features.length>0?(await this.view.goTo({target:i.features[0],scale:2500},{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}):{status:1,message:"未找到信号机"}}default:return{status:1,message:"未知类型"}}}async highlightSignalControlArea(e){switch(e.type){case"district":{this.districtControllerDashLayer.definitionExpression=`id = '${e.id}'`,this.districtControllerSolidLayer.definitionExpression=`id = '${e.id}'`,this.subDistrictControllerLayer.definitionExpression=`parentId = '${e.id}'`,this.signalMarkerLayer.definitionExpression=`districtId = '${e.id}'`,this.signalPictureLayer.definitionExpression=`districtId = '${e.id}'`;const t=await this.districtControllerDashLayer.queryFeatures();return t.features.length>0?(await this.view.goTo(t.features,{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}):{status:1,message:"未找到区控"}}case"subDistrict":{this.subDistrictControllerLayer.definitionExpression=`id = '${e.id}'`,this.signalMarkerLayer.definitionExpression=`subDistrictId = '${e.id}'`,this.signalPictureLayer.definitionExpression=`subDistrictId = '${e.id}'`;const t=await this.subDistrictControllerLayer.queryFeatures();if(t.features.length>0){const r=t.features[0].attributes.parentId;return this.districtControllerDashLayer.definitionExpression=`id = '${r}'`,this.districtControllerSolidLayer.definitionExpression=`id = '${r}'`,await this.view.goTo(t.features,{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}}else return{status:1,message:"未找到子区"}}case"signal":{this.signalMarkerLayer.definitionExpression=`id = '${e.id}'`,this.signalPictureLayer.definitionExpression=`id = '${e.id}'`;const t=await this.signalMarkerLayer.queryFeatures();if(t.features.length>0){const s=t.features[0],{districtId:r,subDistrictId:i}=s.attributes;return this.districtControllerDashLayer.definitionExpression=`id = '${r}'`,this.districtControllerSolidLayer.definitionExpression=`id = '${r}'`,this.subDistrictControllerLayer.definitionExpression=`id = '${i}'`,await this.view.goTo({target:t.features,zoom:2500},{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}}else return{status:1,message:"未找到信号机"}}default:return{status:1,message:"未知类型"}}}async resetHighlight(){this.districtControllerDashLayer.definitionExpression="1=1",this.districtControllerSolidLayer.definitionExpression="1=1",this.subDistrictControllerLayer.definitionExpression="1=1",this.signalMarkerLayer.definitionExpression="1=1";const e=await this.districtControllerDashLayer.queryFeatures();return this.view.goTo(e.features,{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}}async drawArea(e,t){const s=e.getAllSignalCoordinates();if(s.length>=2){let i=null;if(s.length===2)i=l.lineString(s);else{if(t){const o=l.featureCollection(s.map(c=>l.point(c)));i=m(o)}else{const o=g(s,.5);o.length>=4&&(i=l.polygon([o]))}i||(i=l.lineString(s))}const y=p(i.geometry,t?200:30,{units:"meters"}),u=new d({geometry:{type:"polyline",paths:y.geometry.coordinates},attributes:{ObjectID:t?this.districtControllerOid++:this.subDistrictControllerOid++,id:e.id,name:e.name,subDistrictCount:e.subDistrictCount,signalCount:e.signalCount,parentId:e.parentId,parentName:e.parentName}});t?(await this.districtControllerDashLayer.applyEdits({addFeatures:[u]}),await this.districtControllerSolidLayer.applyEdits({addFeatures:[u]})):this.subDistrictGraphics.push(u)}for(const i of e.subDistricts)await this.drawArea(i,!1);const r=e.signals.map(i=>new d({geometry:{type:"point",x:i.longitude,y:i.latitude},attributes:{ObjectID:this.signalOid++,id:i.id,name:i.name,signalId:i.signalId,nodeId:i.id,isKey:i.isKey,districtId:t?e.id:e.parentId,districtName:t?e.name:e.parentName,subDistrictId:t?"":e.id,subDistrictName:t?"":e.name}}));await this.signalMarkerLayer.applyEdits({addFeatures:r}),await this.signalPictureLayer.applyEdits({addFeatures:r})}}exports.default=I;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("@arcgis/core/Graphic"),n=require("@arcgis/core/layers/FeatureLayer"),p=require("@turf/buffer"),h=require("@turf/convex"),m=require("@turf/helpers"),g=require("concaveman"),f=require("../../stores/index.js"),b=require("./district-controller.js");function C(a){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const i in a)if(i!=="default"){const r=Object.getOwnPropertyDescriptor(a,i);Object.defineProperty(e,i,r.get?r:{enumerable:!0,get:()=>a[i]})}}return e.default=a,Object.freeze(e)}const l=C(m);class I{constructor(e){var s;this.districtControllerOid=0,this.subDistrictControllerOid=0,this.signalOid=0,this.districtGraphics=[],this.subDistrictGraphics=[],this.view=e,this.hasGpu=localStorage.getItem("gpu")!=="Unknown";const r=f.default.useAppDataStore.mapConfig;this.openDriveServer=(s=r.openDriveServer)==null?void 0:s.url,this.districtControllerDashLayer=new n({id:"districtController",spatialReference:e.spatialReference,source:[],objectIdField:"ObjectID",geometryType:"polyline",outFields:["*"],fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"name",type:"string"},{name:"subDistrictCount",type:"integer"},{name:"signalCount",type:"integer"}],renderer:{type:"simple",symbol:{type:"simple-line",style:"long-dash",color:[111,100,255],width:3}}}),this.districtControllerSolidLayer=new n({id:"districtController",spatialReference:e.spatialReference,source:[],objectIdField:"ObjectID",outFields:["*"],geometryType:"polyline",fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"name",type:"string"},{name:"subDistrictCount",type:"integer"},{name:"signalCount",type:"integer"}],popupTemplate:{title:"{name}",content:[{type:"fields",fieldInfos:[{fieldName:"id",label:"区控编号"},{fieldName:"subDistrictCount",label:"子区数量"},{fieldName:"signalCount",label:"信号机数量"}]}]},renderer:{type:"simple",symbol:{type:"simple-line",style:"solid",color:[111,100,255,.4],width:3}}}),this.subDistrictControllerLayer=new n({id:"subDistrictController",spatialReference:e.spatialReference,source:[],objectIdField:"ObjectID",outFields:["*"],geometryType:"polyline",fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"name",type:"string"},{name:"parentId",type:"string"},{name:"parentName",type:"string"},{name:"signalCount",type:"integer"}],popupTemplate:{title:"{name} 子区",content:[{type:"fields",fieldInfos:[{fieldName:"id",label:"区控编号"},{fieldName:"parentName",label:"所属区控"},{fieldName:"signalCount",label:"信号机数量"}]}]},renderer:{type:"simple",symbol:{type:"simple-line",style:"solid",color:[5,196,104],width:3}}}),this.signalMarkerLayer=new n({id:"signalLayer",spatialReference:e.spatialReference,source:[],objectIdField:"ObjectID",outFields:["*"],geometryType:"point",maxScale:5e3,fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"name",type:"string"},{name:"signalId",type:"string"},{name:"nodeId",type:"string"},{name:"isKey",type:"string"},{name:"districtId",type:"string"},{name:"districtName",type:"string"},{name:"subDistrictId",type:"string"},{name:"subDistrictName",type:"string"}],popupTemplate:{title:"{name}信号机",content:[{type:"fields",fieldInfos:[{fieldName:"districtName",label:"区控名称"},{fieldName:"subDistrictName",label:"子区名称"},{fieldName:"signalId",label:"信号机编号"},{fieldName:"nodeId",label:"路口编号"}]}]},renderer:{type:"unique-value",field:"isKey",defaultSymbol:{type:"simple-marker",style:"circle",color:"gray",size:4,outline:{color:"white",width:1}},uniqueValueInfos:[{value:"true",symbol:{type:"simple-marker",style:"circle",color:[254,172,22],size:12,outline:{color:"white",width:1}}},{value:"false",symbol:{type:"simple-marker",style:"circle",color:[5,116,255],size:8,outline:{color:"white",width:1}}}]}}),this.signalPictureLayer=new n({id:"signalLayer",spatialReference:e.spatialReference,source:[],objectIdField:"ObjectID",outFields:["*"],geometryType:"point",minScale:5e3,fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"name",type:"string"},{name:"signalId",type:"string"},{name:"nodeId",type:"string"},{name:"isKey",type:"string"},{name:"districtId",type:"string"},{name:"districtName",type:"string"},{name:"subDistrictId",type:"string"},{name:"subDistrictName",type:"string"}],popupTemplate:{title:"{name}信号机",content:[{type:"fields",fieldInfos:[{fieldName:"districtName",label:"区控名称"},{fieldName:"subDistrictName",label:"子区名称"},{fieldName:"signalId",label:"信号机编号"},{fieldName:"nodeId",label:"路口编号"}]}]},renderer:{type:"unique-value",field:"isKey",defaultSymbol:{type:"simple-marker",style:"circle",color:"gray",size:4,outline:{color:"white",width:1}},uniqueValueInfos:[{value:"true",symbol:{type:"cim",data:{type:"CIMSymbolReference",primitiveOverrides:[{type:"CIMPrimitiveOverride",primitiveName:"textGraphic",propertyName:"TextString",valueExpressionInfo:{type:"CIMExpressionInfo",title:"Custom",expression:'Replace($feature.name, "与", "/") + " " + $feature.signalId',returnType:"Default"}}],symbol:{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",size:32,colorLocked:!0,anchorPointUnits:"Relative",frame:{xmin:-16,ymin:-16,xmax:16,ymax:16},markerGraphics:[{type:"CIMMarkerGraphic",primitiveName:"textGraphic",geometry:{x:0,y:0},symbol:{type:"CIMTextSymbol",height:12,horizontalAlignment:"Center",offsetX:0,offsetY:30,haloSize:1,haloSymbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[255,255,255,255]}]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[0,0,0,255]}]},verticalAlignment:"Center"},textString:""}],scaleSymbolsProportionally:!0,respectFrame:!0},{type:"CIMPictureMarker",enable:!0,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",size:40,rotateClockwise:!0,textureFilter:"Picture",url:"/GisViewerAssets/Images/cross/gis_gjxklk_orange.png"}]}}}},{value:"false",symbol:{type:"cim",data:{type:"CIMSymbolReference",primitiveOverrides:[{type:"CIMPrimitiveOverride",primitiveName:"textGraphic",propertyName:"TextString",valueExpressionInfo:{type:"CIMExpressionInfo",title:"Custom",expression:'Replace($feature.name, "与", "/") + " " + $feature.signalId',returnType:"Default"}}],symbol:{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",size:32,colorLocked:!0,anchorPointUnits:"Relative",frame:{xmin:-16,ymin:-16,xmax:16,ymax:16},markerGraphics:[{type:"CIMMarkerGraphic",primitiveName:"textGraphic",geometry:{x:0,y:0},symbol:{type:"CIMTextSymbol",height:12,horizontalAlignment:"Center",offsetX:0,offsetY:15,haloSize:1,haloSymbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[255,255,255,255]}]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[0,0,0,255]}]},verticalAlignment:"Center"},textString:""}],scaleSymbolsProportionally:!0,respectFrame:!0},{type:"CIMPictureMarker",enable:!0,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",size:20,rotateClockwise:!0,textureFilter:"Picture",url:"/GisViewerAssets/Images/cross/gis_xhj_blue.png"}]}}}}]}}),this.view.map.addMany([this.districtControllerSolidLayer,this.districtControllerDashLayer,this.subDistrictControllerLayer,this.signalMarkerLayer,this.signalPictureLayer])}async showSignalControlArea(e){await this.clearSignalControlArea(),this.districtControllerDashLayer.visible=!0,this.districtControllerSolidLayer.visible=!0,this.subDistrictControllerLayer.visible=!1,this.signalMarkerLayer.visible=!1,this.signalPictureLayer.visible=!1;for(const i of e.areaList){const r=new b.default(i,e.style||"");await this.drawArea(r,!0),await this.subDistrictControllerLayer.applyEdits({addFeatures:this.subDistrictGraphics}),this.subDistrictGraphics=[]}return await this.districtControllerDashLayer.applyEdits({addFeatures:this.districtGraphics}),await this.districtControllerSolidLayer.applyEdits({addFeatures:this.districtGraphics}),this.view.goTo(this.districtGraphics),this.districtGraphics=[],{status:0,message:"ok"}}async clearSignalControlArea(){this.districtControllerOid=0,this.subDistrictControllerOid=0,this.signalOid=0;let e=await this.districtControllerDashLayer.queryFeatures();return await this.districtControllerDashLayer.applyEdits({deleteFeatures:e.features}),e=await this.districtControllerSolidLayer.queryFeatures(),await this.districtControllerSolidLayer.applyEdits({deleteFeatures:e.features}),e=await this.subDistrictControllerLayer.queryFeatures(),await this.subDistrictControllerLayer.applyEdits({deleteFeatures:e.features}),e=await this.signalMarkerLayer.queryFeatures(),await this.signalMarkerLayer.applyEdits({deleteFeatures:e.features}),e=await this.signalPictureLayer.queryFeatures(),await this.signalPictureLayer.applyEdits({deleteFeatures:e.features}),{status:0,message:"ok"}}setLayerVisibility(e){switch(e.visible===!1&&this.view.closePopup(),e.id){case"district":this.districtControllerDashLayer.visible=e.visible,this.districtControllerSolidLayer.visible=e.visible;break;case"subDistrict":this.subDistrictControllerLayer.visible=e.visible;break;case"signal":this.signalMarkerLayer.visible=e.visible,this.signalPictureLayer.visible=e.visible;break}return{status:0,message:"ok"}}async locateSignalControlArea(e){switch(e.type){case"district":{const s=this.districtControllerDashLayer.createQuery();s.where=`id = '${e.id}'`,s.returnGeometry=!0,s.outFields=["*"];const t=await this.districtControllerDashLayer.queryFeatures(s);return t.features.length>0?(await this.view.goTo(t.features,{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}):{status:1,message:"未找到区控"}}case"subDistrict":const i=this.subDistrictControllerLayer.createQuery();i.where=`id = '${e.id}'`,i.returnGeometry=!0,i.outFields=["*"];const r=await this.subDistrictControllerLayer.queryFeatures(i);return r.features.length>0?(await this.view.goTo(r.features,{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}):{status:1,message:"未找到子区"};case"signal":{const s=this.signalMarkerLayer.createQuery();s.where=`id = '${e.id}'`,s.returnGeometry=!0,s.outFields=["*"];const t=await this.signalMarkerLayer.queryFeatures(s);return t.features.length>0?(await this.view.goTo({target:t.features[0],scale:2500},{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}):{status:1,message:"未找到信号机"}}default:return{status:1,message:"未知类型"}}}async highlightSignalControlArea(e){switch(e.type){case"district":{const i=this.districtControllerDashLayer.definitionExpression;this.districtControllerDashLayer.definitionExpression=`id = '${e.id}'`;const r=await this.districtControllerDashLayer.queryFeatures();return r.features.length>0?(this.districtControllerSolidLayer.definitionExpression=`id = '${e.id}'`,this.subDistrictControllerLayer.definitionExpression=`parentId = '${e.id}'`,this.signalMarkerLayer.definitionExpression=`districtId = '${e.id}'`,this.signalPictureLayer.definitionExpression=`districtId = '${e.id}'`,await this.view.goTo(r.features,{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}):(this.districtControllerDashLayer.definitionExpression=i,{status:1,message:"未找到区控"})}case"subDistrict":{const i=this.subDistrictControllerLayer.definitionExpression;this.subDistrictControllerLayer.definitionExpression=`id = '${e.id}'`;const r=await this.subDistrictControllerLayer.queryFeatures();if(r.features.length>0){this.signalMarkerLayer.definitionExpression=`subDistrictId = '${e.id}'`,this.signalPictureLayer.definitionExpression=`subDistrictId = '${e.id}'`;const t=r.features[0].attributes.parentId;return this.districtControllerDashLayer.definitionExpression=`id = '${t}'`,this.districtControllerSolidLayer.definitionExpression=`id = '${t}'`,await this.view.goTo(r.features,{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}}else return this.subDistrictControllerLayer.definitionExpression=i,{status:1,message:"未找到子区"}}case"signal":{const i=this.signalMarkerLayer.definitionExpression;this.signalMarkerLayer.definitionExpression=`id = '${e.id}'`;const r=await this.signalMarkerLayer.queryFeatures();if(r.features.length>0){this.signalPictureLayer.definitionExpression=`id = '${e.id}'`;const s=r.features[0],{districtId:t,subDistrictId:o}=s.attributes;return this.districtControllerDashLayer.definitionExpression=`id = '${t}'`,this.districtControllerSolidLayer.definitionExpression=`id = '${t}'`,this.subDistrictControllerLayer.definitionExpression=`id = '${o}'`,await this.view.goTo({target:r.features,zoom:2500},{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}}else return this.signalMarkerLayer.definitionExpression=i,{status:1,message:"未找到信号机"}}default:return{status:1,message:"未知类型"}}}async resetHighlight(){this.districtControllerDashLayer.definitionExpression="1=1",this.districtControllerSolidLayer.definitionExpression="1=1",this.subDistrictControllerLayer.definitionExpression="1=1",this.signalMarkerLayer.definitionExpression="1=1";const e=await this.districtControllerDashLayer.queryFeatures();return this.view.goTo(e.features,{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}}async drawArea(e,i){const r=e.getAllSignalCoordinates();if(r.length>=2){let t=null;if(r.length===2)t=l.lineString(r);else{if(i){const u=l.featureCollection(r.map(c=>l.point(c)));t=h(u)}else{const u=g(r,.5);u.length>=4&&(t=l.polygon([u]))}t||(t=l.lineString(r))}const o=p(t.geometry,i?200:30,{units:"meters"}),d=new y({geometry:{type:"polyline",paths:o.geometry.coordinates},attributes:{ObjectID:i?this.districtControllerOid++:this.subDistrictControllerOid++,id:e.id,name:e.name,subDistrictCount:e.subDistrictCount,signalCount:e.signalCount,parentId:e.parentId,parentName:e.parentName}});i?this.districtGraphics.push(d):this.subDistrictGraphics.push(d)}for(const t of e.subDistricts)await this.drawArea(t,!1);const s=e.signals.map(t=>new y({geometry:{type:"point",x:t.longitude,y:t.latitude},attributes:{ObjectID:this.signalOid++,id:t.id,name:t.name,signalId:t.signalId,nodeId:t.nodeId,isKey:t.isKey,districtId:i?e.id:e.parentId,districtName:i?e.name:e.parentName,subDistrictId:i?"":e.id,subDistrictName:i?"":e.name}}));await this.signalMarkerLayer.applyEdits({addFeatures:s}),await this.signalPictureLayer.applyEdits({addFeatures:s})}}exports.default=I;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gisviewer-vue3-arcgis",
3
- "version": "1.0.204",
3
+ "version": "1.0.206",
4
4
  "main": "lib/index.js",
5
5
  "module": "es/index.mjs",
6
6
  "files": [