gisviewer-vue3-arcgis 1.0.228 → 1.0.229
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/gis-map.vue.d.ts +8 -2
- package/es/src/gis-map/gis-map.vue.mjs +2 -2
- package/es/src/gis-map/index.d.ts +2 -2
- package/{lib/src/gis-map/utils/signal-control-area-controller/renderer → es/src/gis-map/utils/signal-control-area}/district-renderer.d.ts +2 -2
- package/es/src/gis-map/utils/{signal-control-area-controller/renderer → signal-control-area}/district-renderer.mjs +1 -1
- package/es/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/show-area.mjs +3 -3
- package/{lib/src/gis-map/utils/signal-control-area-controller/renderer → es/src/gis-map/utils/signal-control-area}/signal-renderer.d.ts +2 -2
- package/es/src/gis-map/utils/{signal-control-area-controller/renderer → signal-control-area}/signal-renderer.mjs +1 -1
- package/es/src/gis-map/utils/{signal-control-area-controller/renderer → signal-control-area}/sub-district-renderer.d.ts +2 -2
- package/es/src/gis-map/utils/{signal-control-area-controller/renderer → signal-control-area}/sub-district-renderer.mjs +1 -1
- package/lib/src/gis-map/gis-map.vue.d.ts +8 -2
- package/lib/src/gis-map/gis-map.vue.js +1 -1
- package/lib/src/gis-map/index.d.ts +2 -2
- package/{es/src/gis-map/utils/signal-control-area-controller/renderer → lib/src/gis-map/utils/signal-control-area}/district-renderer.d.ts +2 -2
- package/lib/src/gis-map/utils/signal-control-area/district-renderer.js +1 -0
- package/lib/src/gis-map/utils/signal-control-area/show-area.js +1 -0
- package/{es/src/gis-map/utils/signal-control-area-controller/renderer → lib/src/gis-map/utils/signal-control-area}/signal-renderer.d.ts +2 -2
- package/lib/src/gis-map/utils/signal-control-area/signal-renderer.js +1 -0
- package/lib/src/gis-map/utils/{signal-control-area-controller/renderer → signal-control-area}/sub-district-renderer.d.ts +2 -2
- package/lib/src/gis-map/utils/signal-control-area/sub-district-renderer.js +1 -0
- package/package.json +1 -1
- package/lib/src/gis-map/utils/signal-control-area-controller/renderer/district-renderer.js +0 -1
- package/lib/src/gis-map/utils/signal-control-area-controller/renderer/signal-renderer.js +0 -1
- package/lib/src/gis-map/utils/signal-control-area-controller/renderer/sub-district-renderer.js +0 -1
- package/lib/src/gis-map/utils/signal-control-area-controller/show-area.js +0 -1
- /package/es/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/district-controller.d.ts +0 -0
- /package/es/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/district-controller.mjs +0 -0
- /package/es/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/edit-area.d.ts +0 -0
- /package/es/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/edit-area.mjs +0 -0
- /package/es/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/layer-symbol.d.ts +0 -0
- /package/es/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/layer-symbol.mjs +0 -0
- /package/es/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/show-area.d.ts +0 -0
- /package/lib/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/district-controller.d.ts +0 -0
- /package/lib/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/district-controller.js +0 -0
- /package/lib/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/edit-area.d.ts +0 -0
- /package/lib/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/edit-area.js +0 -0
- /package/lib/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/layer-symbol.d.ts +0 -0
- /package/lib/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/layer-symbol.js +0 -0
- /package/lib/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/show-area.d.ts +0 -0
|
@@ -8,8 +8,8 @@ import OpenDriveRenderer from './utils/open-drive-renderer';
|
|
|
8
8
|
import Overlay from './utils/overlay';
|
|
9
9
|
import QueueLength from './utils/queue-length';
|
|
10
10
|
import RoadConfigTool from './utils/road-config-tool';
|
|
11
|
-
import EditSignalArea from './utils/signal-control-area
|
|
12
|
-
import ShowSignalArea from './utils/signal-control-area
|
|
11
|
+
import EditSignalArea from './utils/signal-control-area/edit-area';
|
|
12
|
+
import ShowSignalArea from './utils/signal-control-area/show-area';
|
|
13
13
|
import TrafficFlow from './utils/traffic-flow';
|
|
14
14
|
declare const _sfc_main: import("vue").DefineComponent<{
|
|
15
15
|
config: {
|
|
@@ -235,6 +235,12 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
235
235
|
animation: string;
|
|
236
236
|
}>;
|
|
237
237
|
rImage: import("vue").ComputedRef<string>;
|
|
238
|
+
/**
|
|
239
|
+
* 开始坐标转换,经纬度坐标转屏幕坐标。
|
|
240
|
+
* @param points
|
|
241
|
+
* @param callback 回调函数,参数为转换后的屏幕坐标。地图移动、缩放、缩放时,会多次调用该回调函数。
|
|
242
|
+
* @returns handle 坐标转换句柄,用于停止坐标转换。
|
|
243
|
+
* */
|
|
238
244
|
rNumberStyle: import("vue").ComputedRef<any>;
|
|
239
245
|
rLampStyle: import("vue").ComputedRef<{
|
|
240
246
|
display: string;
|
|
@@ -10,8 +10,8 @@ import B from "./utils/open-drive-renderer/index.mjs";
|
|
|
10
10
|
import I from "./utils/overlay.mjs";
|
|
11
11
|
import ct from "./utils/queue-length.mjs";
|
|
12
12
|
import M from "./utils/road-config-tool/index.mjs";
|
|
13
|
-
import lt from "./utils/signal-control-area
|
|
14
|
-
import ut from "./utils/signal-control-area
|
|
13
|
+
import lt from "./utils/signal-control-area/edit-area.mjs";
|
|
14
|
+
import ut from "./utils/signal-control-area/show-area.mjs";
|
|
15
15
|
import mt from "./utils/traffic-flow.mjs";
|
|
16
16
|
const pt = { class: "gis-viewer" }, gt = { style: { position: "absolute", bottom: "80px", left: "10px", "z-index": "9999" } }, Bt = /* @__PURE__ */ $e({
|
|
17
17
|
__name: "gis-map",
|
|
@@ -17,8 +17,8 @@ export declare const GisMap: import("@easyest/utils/dist/lib/withinstall").SFCWi
|
|
|
17
17
|
overlay: import("./utils/overlay").default;
|
|
18
18
|
queueLength: import("./utils/queue-length").default;
|
|
19
19
|
openDriveRenderer: import("./utils/open-drive-renderer").default;
|
|
20
|
-
editSignalAreaController: import("./utils/signal-control-area
|
|
21
|
-
showSignalAreaController: import("./utils/signal-control-area
|
|
20
|
+
editSignalAreaController: import("./utils/signal-control-area/edit-area").default;
|
|
21
|
+
showSignalAreaController: import("./utils/signal-control-area/show-area").default;
|
|
22
22
|
greenWaveBandController: import("./utils/green-wave-band-controller").default;
|
|
23
23
|
showLogDiv: import("vue").Ref<boolean>;
|
|
24
24
|
appDataStore: import("pinia").Store<"appData", {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IResult } from '
|
|
2
|
-
import DistrictController from '
|
|
1
|
+
import { IResult } from '../../../types';
|
|
2
|
+
import DistrictController from './district-controller';
|
|
3
3
|
export default class DistrictRenderer {
|
|
4
4
|
private view;
|
|
5
5
|
/** 区控虚线图层 */
|
|
@@ -2,7 +2,7 @@ import u from "@arcgis/core/Graphic";
|
|
|
2
2
|
import n from "@arcgis/core/layers/FeatureLayer";
|
|
3
3
|
import * as a from "@turf/helpers";
|
|
4
4
|
import { convex as y, buffer as p } from "@turf/turf";
|
|
5
|
-
import { districtDashLineLayerOptions as f, districtSolidLineLayerOptions as C } from "
|
|
5
|
+
import { districtDashLineLayerOptions as f, districtSolidLineLayerOptions as C } from "./layer-symbol.mjs";
|
|
6
6
|
class S {
|
|
7
7
|
constructor(t, i) {
|
|
8
8
|
this.style = "", this.hasGpu = !0, this.view = t, this.hasGpu = i, this.districtControllerDashLayer = new n(
|
package/es/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/show-area.mjs
RENAMED
|
@@ -8,9 +8,9 @@ import * as c from "@turf/helpers";
|
|
|
8
8
|
import R from "concaveman";
|
|
9
9
|
import S from "../../stores/index.mjs";
|
|
10
10
|
import G from "./district-controller.mjs";
|
|
11
|
-
import C from "./
|
|
12
|
-
import I from "./
|
|
13
|
-
import L from "./
|
|
11
|
+
import C from "./district-renderer.mjs";
|
|
12
|
+
import I from "./signal-renderer.mjs";
|
|
13
|
+
import L from "./sub-district-renderer.mjs";
|
|
14
14
|
class T {
|
|
15
15
|
constructor(t) {
|
|
16
16
|
this.detachmentLayerLoaded = !1, this.districtControllerOid = 0, this.subDistrictControllerOid = 0, this.signalOid = 0, this.popupEnabled = !0, this.districtGraphics = [], this.subDistrictGraphics = [], this.signalGraphics = [], this.view = t, this.hasGpu = localStorage.getItem("gpu") !== "Unknown";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IResult } from '
|
|
2
|
-
import DistrictController from '
|
|
1
|
+
import { IResult } from '../../../types';
|
|
2
|
+
import DistrictController from './district-controller';
|
|
3
3
|
export default class CrossRenderer {
|
|
4
4
|
private view;
|
|
5
5
|
private hasGpu;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import d from "@arcgis/core/Graphic";
|
|
2
2
|
import u from "@arcgis/core/layers/FeatureLayer";
|
|
3
|
-
import { signalMarkerLayerOptions as y, signalPictureLayerOptions as c, signalClusterLayerOptions as o } from "
|
|
3
|
+
import { signalMarkerLayerOptions as y, signalPictureLayerOptions as c, signalClusterLayerOptions as o } from "./layer-symbol.mjs";
|
|
4
4
|
class f {
|
|
5
5
|
constructor(e, a) {
|
|
6
6
|
this.view = e, this.hasGpu = a, this.signalMarkerLayer = new u(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IResult } from '
|
|
2
|
-
import DistrictController from '
|
|
1
|
+
import { IResult } from '../../../types';
|
|
2
|
+
import DistrictController from './district-controller';
|
|
3
3
|
export default class SubDistrictRenderer {
|
|
4
4
|
private view;
|
|
5
5
|
private hasGpu;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import n from "@arcgis/core/Graphic";
|
|
2
2
|
import o from "@arcgis/core/layers/FeatureLayer";
|
|
3
|
-
import { subDistrictPointLayerOptions as c } from "
|
|
3
|
+
import { subDistrictPointLayerOptions as c } from "./layer-symbol.mjs";
|
|
4
4
|
class b {
|
|
5
5
|
constructor(t, i) {
|
|
6
6
|
this.view = t, this.hasGpu = i, this.subDistrictPointLayer = new o(
|
|
@@ -8,8 +8,8 @@ import OpenDriveRenderer from './utils/open-drive-renderer';
|
|
|
8
8
|
import Overlay from './utils/overlay';
|
|
9
9
|
import QueueLength from './utils/queue-length';
|
|
10
10
|
import RoadConfigTool from './utils/road-config-tool';
|
|
11
|
-
import EditSignalArea from './utils/signal-control-area
|
|
12
|
-
import ShowSignalArea from './utils/signal-control-area
|
|
11
|
+
import EditSignalArea from './utils/signal-control-area/edit-area';
|
|
12
|
+
import ShowSignalArea from './utils/signal-control-area/show-area';
|
|
13
13
|
import TrafficFlow from './utils/traffic-flow';
|
|
14
14
|
declare const _sfc_main: import("vue").DefineComponent<{
|
|
15
15
|
config: {
|
|
@@ -235,6 +235,12 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
235
235
|
animation: string;
|
|
236
236
|
}>;
|
|
237
237
|
rImage: import("vue").ComputedRef<string>;
|
|
238
|
+
/**
|
|
239
|
+
* 开始坐标转换,经纬度坐标转屏幕坐标。
|
|
240
|
+
* @param points
|
|
241
|
+
* @param callback 回调函数,参数为转换后的屏幕坐标。地图移动、缩放、缩放时,会多次调用该回调函数。
|
|
242
|
+
* @returns handle 坐标转换句柄,用于停止坐标转换。
|
|
243
|
+
* */
|
|
238
244
|
rNumberStyle: import("vue").ComputedRef<any>;
|
|
239
245
|
rLampStyle: import("vue").ComputedRef<{
|
|
240
246
|
display: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("vue"),b=require("./stores/index.js");require("./style/index.css");const je=require("./utils/detect-gpu.js"),A=require("./utils/green-wave-band-controller/index.js"),Qe=require("./utils/holo-flow/index.js"),Ue=require("./utils/holo-flow/signal-countdown-panel.vue.js"),Ze=require("./utils/map-initializer.js"),L=require("./utils/open-drive-renderer/index.js"),D=require("./utils/overlay.js"),Ke=require("./utils/queue-length.js"),T=require("./utils/road-config-tool/index.js"),Je=require("./utils/signal-control-area
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("vue"),b=require("./stores/index.js");require("./style/index.css");const je=require("./utils/detect-gpu.js"),A=require("./utils/green-wave-band-controller/index.js"),Qe=require("./utils/holo-flow/index.js"),Ue=require("./utils/holo-flow/signal-countdown-panel.vue.js"),Ze=require("./utils/map-initializer.js"),L=require("./utils/open-drive-renderer/index.js"),D=require("./utils/overlay.js"),Ke=require("./utils/queue-length.js"),T=require("./utils/road-config-tool/index.js"),Je=require("./utils/signal-control-area/edit-area.js"),Xe=require("./utils/signal-control-area/show-area.js"),Ye=require("./utils/traffic-flow.js"),Fe={class:"gis-viewer"},Re={style:{position:"absolute",bottom:"80px",left:"10px","z-index":"9999"}},$e=n.defineComponent({__name:"gis-map",props:{config:{},assetsRoot:{}},emits:["mapLoaded","markerClick","mapClick"],setup(_,{expose:B,emit:q}){const S=n.ref(null);let o,d,l,i,a,r,f,t,u,s,m;const y=n.ref(!1);b.registerStore();const V=b.default.useAppDataStore,k=n.reactive([]);je.default(),n.onMounted(async()=>{if(!S.value)return;document.addEventListener("keydown",p=>{p.ctrlKey&&p.key==="i"&&(y.value=!y.value)});const e=n.getCurrentInstance(),{$gisviewerAssetsRoot:g}=e.appContext.config.globalProperties,c=await(await fetch(O.config)).json();c.assetsRoot=O.assetsRoot||g,V.mapConfig=c,d=new Ze.default,o=await d.initialize({container:S.value,mapConfig:c,markerClickCallback:(p,C,h,We)=>{w("markerClick",p,C,h,We)},mapClickCallback:(p,C,h)=>{w("mapClick",p,C,h)}}),a=new Qe.default(o,k),await a.init(),w("mapLoaded")}),n.onUnmounted(()=>{s==null||s.clearSignalControlArea(),t==null||t.clearOpenDrive(),a.clearHoloTrace(),a.clearHoloSignal(),i==null||i.disconnectTrafficFlow()});const x=n.computed(()=>o),I=()=>{const e=b.default.useAppDataStore;e.saveTrackLog=!0},M=()=>{a.downloadTrackLog()},N=()=>{v("vehicleId")},E=()=>{v("plateNumber")},H=async e=>await d.setMapCenter(e),P=async e=>await d.setMapCamera(e),G=async e=>await d.lookAt(e),z=e=>d.setLayerVisibility(e),W=(e,g)=>d.requestCoordinateTransform(e,g),j=e=>{d.cancelCoordinateTransform(e)},Q=e=>{d.setMapZoomRange(e)},U=e=>(l||(l=new T.default(o)),l.showLaneNumber(e)),Z=()=>{l==null||l.clearLaneNumber()},K=async e=>(l||(l=new T.default(o)),await l.initializeSearch(e)),J=async()=>l==null?void 0:l.calCrossIndicatorArea(),X=async()=>{},Y=async(e,g)=>{i||(i=new Ye.default(o)),i.connectTrafficFlow(e,g)},F=()=>{i==null||i.disconnectTrafficFlow()},R=async e=>{a.handleVehicleTraceData(e)},$=()=>{a.clearHoloTrace()},ee=e=>{a.setInterpolate(e)},te=async e=>{await a.handleSignalData(e)},ae=async e=>{await a.initializeLampGroup(e)},ne=e=>{a.handleUniSignalData(e)},re=()=>{a.clearHoloSignal()},se=e=>{i==null||i.toggleTrafficInfo(e),a==null||a.toggleTrafficInfo(e)},oe=e=>{a==null||a.togglePause(e)},ie=e=>{i==null||i.toggleTrafficObject(e),a==null||a.toggleTrafficObject(e)},v=e=>{a==null||a.updatePanelContent(e)},ce=async e=>(r||(r=new D.default(o)),r.addOverlays(e)),le=e=>(r||(r=new D.default(o)),r.addMask(e)),ue=()=>{r==null||r.removeMask()},de=e=>r==null?void 0:r.removeOverlaysByType(e),me=e=>r==null?void 0:r.removeOverlaysById(e),ge=()=>r==null?void 0:r.removeAllOverlays(),pe=()=>{r==null||r.showAllOverlays()},fe=e=>{f||(f=new Ke.default(o)),f.updateQueueLength(e)},Se=()=>{f==null||f.removeQueueLength()},ye=async(e,g)=>(t||(t=new L.default(o)),await t.showOpenDriveFromServer(e,g)),ve=async e=>(t||(t=new L.default(o)),await t.clearOpenDrive(),await t.showOpenDriveFromFile(e)),we=async()=>await(t==null?void 0:t.clearOpenDrive()),Ce=async e=>t?await(t==null?void 0:t.findSumo(e)):{status:-1,message:"未加载OpenDrive地图"},he=async e=>t?t.selectSumo(e):{status:-1,message:"未加载OpenDrive地图"},be=async e=>t?t.unselectSumo(e):{status:-1,message:"未加载OpenDrive地图"},ke=async e=>t?await t.geometrySearch(e):{status:-1,message:"未加载OpenDrive地图"},Oe=async e=>t?await t.getSumoInfo(e):{status:-1,message:"未加载OpenDrive地图"},Ae=async e=>t?await(t==null?void 0:t.splitLane(e)):{status:-1,message:"未加载OpenDrive地图"},Le=async()=>t?t==null?void 0:t.clearSplitLane():{status:-1,message:"未加载OpenDrive地图"},De=async e=>(s||(s=new Xe.default(o)),await s.showSignalControlArea(e)),Te=async()=>await(s==null?void 0:s.clearSignalControlArea()),_e=e=>s==null?void 0:s.setLayerVisibility(e),Be=async e=>s?await(s==null?void 0:s.locateSignalControlArea(e)):{status:-1,message:"未加载信号控制区"},qe=async e=>s?await s.highlightSignalControlArea(e):{status:-1,message:"未加载信号控制区"},Ve=()=>s?s.resetHighlight():{status:-1,message:"未加载信号控制区"},xe=e=>(u||(u=new Je.default(o)),u.showSubSignalControlArea(e)),Ie=e=>u?u.editSubSignalControlArea(e):{status:-1,message:"未加载信号控制区"},Me=()=>u?u.stopEditSubSignalControlArea():{status:-1,message:"未加载信号控制区"},Ne=e=>u?u.selectSubSignalControlAreaCross(e):{status:-1,message:"未加载信号控制区"},Ee=e=>u?u.unselectSubSignalControlAreaCross(e):{status:-1,message:"未加载信号控制区"},He=e=>{if(!u)return{status:-1,message:"未加载信号控制区"}},Pe=e=>(m||(m=new A.default(o)),m.addGreenWaveBand(e)),Ge=()=>{if(!m)return{status:-1,message:"未加载绿波带"};m.stopAddGreenWaveBand()},ze=async e=>(m||(m=new A.default(o)),await m.showGreenWaveBand(e)),O=_,w=q;return B({mapViewer:x,setLayerVisibility:z,setMapCenter:H,lookAt:G,setMapCamera:P,setMapZoomRange:Q,requestCoordinateTransform:W,cancelCoordinateTransform:j,addOverlays:ce,addMask:le,removeMask:ue,showAllOverlays:pe,removeOverlaysByType:de,removeOverlaysById:me,removeAllOverlays:ge,showLaneNumber:U,clearLaneNumber:Z,initializeAreaTool:K,calCrossIndicatorArea:J,calRoadIndicatorArea:X,connectCarFlow:Y,disconnectCarFlow:F,handleHoloVehicleTraceData:R,clearHoloTrace:$,initializeLampGroup:ae,handleUniSignalData:ne,handleHoloSignalData:te,clearHoloSignal:re,setInterpolate:ee,toggleTrafficInfo:se,toggleTrafficObject:ie,toggleVehicleInfo:v,togglePause:oe,updateQueueLength:fe,removeQueueLength:Se,showOpenDriveFromServer:ye,showOpenDriveFromFile:ve,clearOpenDrive:we,geometrySearchInOpenDrive:ke,findSumoInOpenDrive:Ce,selectSumoInOpenDrive:he,unselectSumoInOpenDrive:be,getSumoInfo:Oe,splitOpenDriveLane:Ae,clearSplitOpenDriveLane:Le,showSignalControlArea:De,clearSignalControlArea:Te,setSignalControlAreaVisibility:_e,locateSignalControlArea:Be,highlightSignalControlArea:qe,resetHighlightSignalControlArea:Ve,showSubSignalControlArea:xe,editSubSignalControlArea:Ie,stopEditSubSignalControlArea:Me,selectSubSignalControlAreaCross:Ne,unselectSubSignalControlAreaCross:Ee,changeSubSignalControlAreaBorderVisibility:He,addGreenWaveBand:Pe,stopAddGreenWaveBand:Ge,showGreenWaveBand:ze}),(e,g)=>(n.openBlock(),n.createElementBlock("div",Fe,[n.createElementVNode("div",{class:"gis-viewer-main",ref_key:"mapContainer",ref:S},[n.withDirectives(n.createElementVNode("div",Re,[n.createElementVNode("button",{style:{"margin-right":"10px"},onClick:I}," 开始记录 "),n.createElementVNode("button",{style:{"margin-right":"10px"},onClick:M}," 下载日志 "),n.createElementVNode("button",{style:{"margin-right":"10px"},onClick:N}," 显示车辆id "),n.createElementVNode("button",{onClick:E},"显示车辆号牌")],512),[[n.vShow,y.value]])],512),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(k,(c,p)=>(n.openBlock(),n.createBlock(Ue.default,{key:p,"display-mode":c.displayMode,flash:c.flash,"road-id":c.crossId,"cross-id":c.roadId,"map-point":c.mapPoint,"stop-line":c.stopLine,position:c.position,rotation:c.rotation,scale:c.scale,"lamp-status":c.lampStatus},null,8,["display-mode","flash","road-id","cross-id","map-point","stop-line","position","rotation","scale","lamp-status"]))),128))]))}});exports.default=$e;
|
|
@@ -17,8 +17,8 @@ export declare const GisMap: import("@easyest/utils/dist/lib/withinstall").SFCWi
|
|
|
17
17
|
overlay: import("./utils/overlay").default;
|
|
18
18
|
queueLength: import("./utils/queue-length").default;
|
|
19
19
|
openDriveRenderer: import("./utils/open-drive-renderer").default;
|
|
20
|
-
editSignalAreaController: import("./utils/signal-control-area
|
|
21
|
-
showSignalAreaController: import("./utils/signal-control-area
|
|
20
|
+
editSignalAreaController: import("./utils/signal-control-area/edit-area").default;
|
|
21
|
+
showSignalAreaController: import("./utils/signal-control-area/show-area").default;
|
|
22
22
|
greenWaveBandController: import("./utils/green-wave-band-controller").default;
|
|
23
23
|
showLogDiv: import("vue").Ref<boolean>;
|
|
24
24
|
appDataStore: import("pinia").Store<"appData", {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IResult } from '
|
|
2
|
-
import DistrictController from '
|
|
1
|
+
import { IResult } from '../../../types';
|
|
2
|
+
import DistrictController from './district-controller';
|
|
3
3
|
export default class DistrictRenderer {
|
|
4
4
|
private view;
|
|
5
5
|
/** 区控虚线图层 */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("@arcgis/core/Graphic"),l=require("@arcgis/core/layers/FeatureLayer"),C=require("@turf/helpers"),c=require("@turf/turf"),d=require("./layer-symbol.js");function g(o){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const i=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(t,e,i.get?i:{enumerable:!0,get:()=>o[e]})}}return t.default=o,Object.freeze(t)}const n=g(C);class L{constructor(t,e){this.style="",this.hasGpu=!0,this.view=t,this.hasGpu=e,this.districtControllerDashLayer=new l(d.districtDashLineLayerOptions),this.districtControllerDashLayer.spatialReference=t.spatialReference,this.districtControllerSolidLayer=new l(d.districtSolidLineLayerOptions),this.districtControllerSolidLayer.spatialReference=t.spatialReference,this.districtControllerSolidLayer.popupEnabled=!0,this.view.map.addMany([this.districtControllerDashLayer,this.districtControllerSolidLayer])}async showDistricts(t){await this.clearDistricts();const e=[];for(let i=0;i<t.length;i++){const r=t[i],s=r.getAllSignalCoordinates();let a=null;if(s.length>=2)if(s.length===2)a=n.lineString(s);else{const y=n.featureCollection(s.map(p=>n.point(p)));a=c.convex(y),a||(a=n.lineString(s))}else if(s.length===1)a=n.point(s[0]);else continue;const u=c.buffer(a.geometry,200,{units:"meters"}),h=new f({geometry:{type:"polyline",paths:u.geometry.coordinates},attributes:{ObjectID:i,id:r.id,name:r.name,subDistrictCount:r.subDistrictCount,signalCount:r.signalCount,parentId:r.parentId,parentName:r.parentName,selected:this.style,type:"district"}});e.push(h)}await this.districtControllerDashLayer.applyEdits({addFeatures:e}),await this.districtControllerSolidLayer.applyEdits({addFeatures:e}),await this.view.goTo(e,{duration:this.hasGpu?1e3:0})}async clearDistricts(){let t=await this.districtControllerDashLayer.queryFeatures();await this.districtControllerDashLayer.applyEdits({deleteFeatures:t.features}),this.districtControllerDashLayer.definitionExpression="1=1",t=await this.districtControllerSolidLayer.queryFeatures(),await this.districtControllerSolidLayer.applyEdits({deleteFeatures:t.features}),this.districtControllerSolidLayer.definitionExpression="1=1"}setVisible(t){this.districtControllerDashLayer.visible=t,this.districtControllerSolidLayer.visible=t}async locateDistrict(t){const e=this.districtControllerDashLayer.createQuery();e.where=`id = '${t}'`,e.returnGeometry=!0,e.outFields=["*"];const i=await this.districtControllerDashLayer.queryFeatures(e);return i.features.length>0?(await this.view.goTo(i.features,{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}):{status:1,message:"未找到区控"}}async highlightDistrict(t){const e=this.districtControllerDashLayer.definitionExpression;this.districtControllerDashLayer.definitionExpression=`id = '${t}'`;const i=await this.districtControllerDashLayer.queryFeatures(),r=i.features.length;return r>0?(this.districtControllerSolidLayer.definitionExpression=`id = '${t}'`,await this.view.goTo(i.features,{duration:this.hasGpu?1e3:0})):this.districtControllerDashLayer.definitionExpression=e,r}filter(t){const e=`id = '${t}'`;this.districtControllerDashLayer.definitionExpression=e,this.districtControllerSolidLayer.definitionExpression=e}resetFilter(){this.districtControllerDashLayer.definitionExpression="1=1",this.districtControllerSolidLayer.definitionExpression="1=1"}}exports.default=L;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("@arcgis/core/geometry"),m=require("@arcgis/core/geometry/support/webMercatorUtils"),g=require("@arcgis/core/Graphic"),w=require("@arcgis/core/layers/GraphicsLayer"),D=require("@turf/buffer"),R=require("@turf/convex"),S=require("@turf/helpers"),G=require("concaveman"),O=require("../../stores/index.js"),C=require("./district-controller.js"),I=require("./district-renderer.js"),v=require("./signal-renderer.js"),L=require("./sub-district-renderer.js");function q(o){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const t in o)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(o,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>o[t]})}}return e.default=o,Object.freeze(e)}const l=q(S);class k{constructor(e){this.detachmentLayerLoaded=!1,this.districtControllerOid=0,this.subDistrictControllerOid=0,this.signalOid=0,this.popupEnabled=!0,this.districtGraphics=[],this.subDistrictGraphics=[],this.signalGraphics=[],this.view=e,this.hasGpu=localStorage.getItem("gpu")!=="Unknown";const t=O.default.useAppDataStore;this.mapConfig=JSON.parse(JSON.stringify(t.mapConfig)),this.detachmentLayer=new w,this.view.map.add(this.detachmentLayer),this.districtRenderer=new I.default(e,this.hasGpu),this.subDistrictRenderer=new L.default(e,this.hasGpu),this.signalRenderer=new v.default(e,this.hasGpu)}async showSignalControlArea(e){this.detachmentLayerLoaded||await this.loadDetachmentLayer(),await this.clearSignalControlArea(),this.districtRenderer.setVisible(!1),this.subDistrictRenderer.setVisible(!1),this.signalRenderer.setClusterVisible(!1),this.signalRenderer.setPointVisible(!1);const t=[],s=[];for(const r of e.areaList){const n=new C.default(r,e.style||"");t.push(n),s.push(...n.subDistricts)}return this.districtRenderer.style=e.style||"",await this.districtRenderer.showDistricts(t),await this.subDistrictRenderer.showSubDistricts(s),await this.signalRenderer.showSignals(t),{status:0,message:"ok"}}async clearSignalControlArea(){return this.districtGraphics=[],this.subDistrictGraphics=[],this.signalGraphics=[],this.districtControllerOid=0,this.subDistrictControllerOid=0,this.signalOid=0,await this.districtRenderer.clearDistricts(),await this.subDistrictRenderer.clearSubDistricts(),await this.signalRenderer.clearSignals(),{status:0,message:"ok"}}setLayerVisibility(e){switch(e.visible===!1&&this.view.closePopup(),e.id){case"district":this.districtRenderer.setVisible(e.visible);break;case"subDistrict":this.subDistrictRenderer.setVisible(e.visible);break;case"signal":this.signalRenderer.setPointVisible(e.visible);break;case"signalCluster":this.signalRenderer.setClusterVisible(e.visible);break;case"shanghai_district":this.detachmentLayer.visible=e.visible;break}return{status:0,message:"ok"}}async locateSignalControlArea(e){switch(e.type){case"district":return await this.districtRenderer.locateDistrict(e.id);case"subDistrict":return await this.subDistrictRenderer.locateSubDistrict(e.id);case"signal":return await this.signalRenderer.locateSignal(e.id);default:return{status:1,message:"未知类型"}}}async highlightSignalControlArea(e){switch(this.view.closePopup(),e.type){case"district":return await this.districtRenderer.highlightDistrict(e.id)?(this.subDistrictRenderer.filter("district",e.id),this.signalRenderer.filter("district",e.id),{status:0,message:"ok"}):{status:1,message:"未找到区控"};case"subDistrict":{const{count:t,parentId:s}=await this.subDistrictRenderer.highlightSubDistrict(e.id);return t>0?(this.districtRenderer.filter(s),this.signalRenderer.filter("subDistrict",e.id),{status:0,message:"ok"}):{status:1,message:"未找到子区"}}case"signal":{const{districtId:t,subDistrictId:s,count:r}=await this.signalRenderer.highlightSignal(e.id);return r>0?(this.districtRenderer.filter(t),this.subDistrictRenderer.filter("subDistrict",s),await this.view.goTo({target:this.signalGraphics,scale:e.scale||1e3},{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}):{status:1,message:"未找到信号机"}}default:return{status:1,message:"未知类型"}}}async resetHighlight(){return this.districtRenderer.resetFilter(),this.subDistrictRenderer.resetFilter(),this.signalRenderer.resetFilter(),{status:0,message:"ok"}}generateGraphic(e,t,s){const r=e.getAllSignalCoordinates();let n=null;if(r.length>=2)if(r.length===2)n=l.lineString(r);else{if(t){const i=l.featureCollection(r.map(c=>l.point(c)));n=R(i)}else{const i=G(r,.5);i.length>=4&&(n=l.polygon([i]))}n||(n=l.lineString(r))}else if(r.length===1)n=l.point(r[0]);else return;const a=D(n.geometry,t?200:30,{units:"meters"}),u=new g({geometry:{type:"polyline",paths:a.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,selected:s,type:t?"district":"subDistrict"}});t?this.districtGraphics.push(u):this.subDistrictGraphics.push(u);for(const i of e.subDistricts)this.generateGraphic(i,!1,s);e.signals.forEach(i=>{const c=new g({geometry:{type:"point",x:i.longitude,y:i.latitude},attributes:{ObjectID:this.signalOid++,id:i.id,name:i.name,signalId:i.signalId,nodeId:i.nodeId,isKey:i.isKey,districtId:t?e.id:e.parentId,districtName:t?e.name:e.parentName,subDistrictId:t?"":e.id,subDistrictName:t?"":e.name,type:"signal",selected:!0}});this.signalGraphics.push(c)})}async loadDetachmentLayer(){const e=this.mapConfig.baseLayers;if(!e)return;const t=e.find(s=>s.options.id==="shanghai_district");if(t)try{const r=await(await fetch("/GisViewerAssets/ShangHai/Layers/district.json")).json(),n=[],{renderer:a,labelingInfo:u}=t.options;r.features.forEach(i=>{const c=i.attributes.ZD_NAME;if(c!=="高架支队"){let d=new y.Polygon({rings:i.geometry.rings});d=m.webMercatorToGeographic(d);const h=new g({geometry:d,attributes:i.attributes});if(a){if(a.type==="simple")h.symbol=a.symbol;else if(a.type==="unique-value"){const b=h.getAttribute("OBJECTID"),f=a.uniqueValueInfos.find(p=>p.value==b);h.symbol=f?f.symbol:a.defaultSymbol}}else h.symbol={type:"simple-fill",color:[227,237,255,.4],outline:{color:[255,195,153],width:2}};if(n.push(h),u&&c!=="边防港航支队"&&c!=="机场支队"){const b=new g({geometry:d.centroid,symbol:{...u.symbol,text:c}});n.push(b)}}}),this.detachmentLayer.addMany(n),this.detachmentLayerLoaded=!0}catch(s){console.error("加载支队图层失败:",s);return}}}exports.default=k;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IResult } from '
|
|
2
|
-
import DistrictController from '
|
|
1
|
+
import { IResult } from '../../../types';
|
|
2
|
+
import DistrictController from './district-controller';
|
|
3
3
|
export default class CrossRenderer {
|
|
4
4
|
private view;
|
|
5
5
|
private hasGpu;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("@arcgis/core/Graphic"),u=require("@arcgis/core/layers/FeatureLayer"),l=require("./layer-symbol.js");class y{constructor(e,a){this.view=e,this.hasGpu=a,this.signalMarkerLayer=new u(l.signalMarkerLayerOptions),this.signalMarkerLayer.spatialReference=e.spatialReference,this.signalMarkerLayer.popupEnabled=!0,this.signalPictureLayer=new u(l.signalPictureLayerOptions),this.signalPictureLayer.spatialReference=e.spatialReference,this.signalPictureLayer.popupEnabled=!0,this.signalClusterLayer=new u(l.signalClusterLayerOptions),this.signalClusterLayer.spatialReference=e.spatialReference,this.signalClusterLayer.popupEnabled=!0,this.view.map.addMany([this.signalMarkerLayer,this.signalPictureLayer,this.signalClusterLayer])}async showSignals(e){await this.clearSignals();let a=0;const s=[];e.forEach(r=>{r.signals.forEach(i=>{const t=new d({geometry:{type:"point",longitude:i.longitude,latitude:i.latitude},attributes:{ObjectID:a++,id:i.id,name:i.name,signalId:i.signalId,nodeId:i.nodeId||i.id,districtId:r.id,districtName:r.name,subDistrictId:"",subDistrictName:"",isKey:i.isKey,type:"signal",selected:!0}});s.push(t)}),r.subDistricts.forEach(i=>{i.signals.forEach(t=>{const n=new d({geometry:{type:"point",longitude:t.longitude,latitude:t.latitude},attributes:{ObjectID:a++,id:t.id,name:t.name,signalId:t.signalId,nodeId:t.nodeId||t.id,districtId:r.id,districtName:r.name,subDistrictId:i.id,subDistrictName:i.name,isKey:t.isKey,type:"signal",selected:!0}});s.push(n)})})}),await this.signalMarkerLayer.applyEdits({addFeatures:s}),await this.signalPictureLayer.applyEdits({addFeatures:s}),await this.signalClusterLayer.applyEdits({addFeatures:s})}async clearSignals(){let e=await this.signalMarkerLayer.queryFeatures();await this.signalMarkerLayer.applyEdits({deleteFeatures:e.features}),this.signalMarkerLayer.definitionExpression="1=1",e=await this.signalPictureLayer.queryFeatures(),await this.signalPictureLayer.applyEdits({deleteFeatures:e.features}),this.signalPictureLayer.definitionExpression="1=1",e=await this.signalClusterLayer.queryFeatures(),await this.signalClusterLayer.applyEdits({deleteFeatures:e.features}),this.signalClusterLayer.definitionExpression="1=1"}async setPointVisible(e){this.signalMarkerLayer.visible=e,this.signalPictureLayer.visible=e}setClusterVisible(e){this.signalClusterLayer.visible=e}async locateSignal(e){return{status:0,message:"ok"}}async highlightSignal(e){let a="",s="";const r=this.signalMarkerLayer.definitionExpression;this.signalMarkerLayer.definitionExpression=`signalId = '${e}'`;const i=await this.signalMarkerLayer.queryFeatures(),t=i.features.length;if(t>0){const n=i.features[0].attributes.districtId||"",c=i.features[0].attributes.subDistrictId||"";return await this.view.goTo(i.features,{duration:this.hasGpu?1e3:0}),{districtId:n,subDistrictId:c,count:t}}else this.signalMarkerLayer.definitionExpression=r;return{districtId:a,subDistrictId:s,count:t}}filter(e,a){const s=`${e==="district"?"districtId":"subDistrictId"} = '${a}'`;this.signalClusterLayer.definitionExpression=s,this.signalMarkerLayer.definitionExpression=s,this.signalPictureLayer.definitionExpression=s}resetFilter(){const e="1=1";this.signalClusterLayer.definitionExpression=e,this.signalMarkerLayer.definitionExpression=e,this.signalPictureLayer.definitionExpression=e}}exports.default=y;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IResult } from '
|
|
2
|
-
import DistrictController from '
|
|
1
|
+
import { IResult } from '../../../types';
|
|
2
|
+
import DistrictController from './district-controller';
|
|
3
3
|
export default class SubDistrictRenderer {
|
|
4
4
|
private view;
|
|
5
5
|
private hasGpu;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("@arcgis/core/Graphic"),o=require("@arcgis/core/layers/FeatureLayer"),c=require("./layer-symbol.js");class d{constructor(t,i){this.view=t,this.hasGpu=i,this.subDistrictPointLayer=new o(c.subDistrictPointLayerOptions),this.subDistrictPointLayer.spatialReference=t.spatialReference,this.subDistrictPointLayer.popupEnabled=!0,this.view.map.add(this.subDistrictPointLayer)}async showSubDistricts(t){await this.clearSubDistricts();let i=0;const s=[],r=[];t.forEach(e=>{r.push({value:e.id,label:e.name,symbol:{type:"simple-marker",style:"circle",color:[0,0,0,0],size:"8px",outline:{color:[...e.areaColor],width:4}}}),e.signals.forEach(a=>{const u=new n({geometry:{type:"point",longitude:a.longitude,latitude:a.latitude},attributes:{ObjectID:i++,id:a.id,name:a.name,subDistrictId:e.id,subDistrictName:e.name,districtId:e.parentId,districtName:e.parentName,signalCount:e.signalCount}});s.push(u)})}),this.subDistrictPointLayer.renderer={type:"unique-value",field:"subDistrictId",defaultSymbol:{type:"simple-marker",color:"gray",size:"8px",outline:{color:"white",width:1}},defaultLabel:"其他子区",uniqueValueInfos:r,visualVariables:[{type:"size",valueExpression:"$view.scale",stops:[{size:24,value:2500},{size:20,value:5e3},{size:8,value:18055.954822000003},{size:4,value:144447.638572},{size:2,value:1155581108577e-6}]}]},await this.subDistrictPointLayer.applyEdits({addFeatures:s}),await this.view.goTo(s,{duration:this.hasGpu?1e3:0})}async clearSubDistricts(){const t=await this.subDistrictPointLayer.queryFeatures();t.features.length>0&&await this.subDistrictPointLayer.applyEdits({deleteFeatures:t.features}),this.subDistrictPointLayer.definitionExpression="1=1"}setVisible(t){this.subDistrictPointLayer.visible=t}async locateSubDistrict(t){const i=this.subDistrictPointLayer.createQuery();i.where=`subDistrictId = '${t}'`,i.returnGeometry=!0;const s=await this.subDistrictPointLayer.queryFeatures(i);return s.features.length>0?(await this.view.goTo(s.features,{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}):{status:1,message:"未找到区控"}}async highlightSubDistrict(t){let i="";const s=this.subDistrictPointLayer.definitionExpression;this.subDistrictPointLayer.definitionExpression=`subDistrictId = '${t}'`;const r=await this.subDistrictPointLayer.queryFeatures(),e=r.features.length;return e>0?(i=r.features[0].attributes.districtId,await this.view.goTo(r.features,{duration:this.hasGpu?1e3:0})):this.subDistrictPointLayer.definitionExpression=s,{count:e,parentId:i}}filter(t,i){const s=`${t==="district"?"districtId":"subDistrictId"} = '${i}'`;this.subDistrictPointLayer.definitionExpression=s}resetFilter(){this.subDistrictPointLayer.definitionExpression="1=1"}}exports.default=d;
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("@arcgis/core/Graphic"),l=require("@arcgis/core/layers/FeatureLayer"),C=require("@turf/helpers"),c=require("@turf/turf"),d=require("../layer-symbol.js");function g(o){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const i=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(t,e,i.get?i:{enumerable:!0,get:()=>o[e]})}}return t.default=o,Object.freeze(t)}const n=g(C);class L{constructor(t,e){this.style="",this.hasGpu=!0,this.view=t,this.hasGpu=e,this.districtControllerDashLayer=new l(d.districtDashLineLayerOptions),this.districtControllerDashLayer.spatialReference=t.spatialReference,this.districtControllerSolidLayer=new l(d.districtSolidLineLayerOptions),this.districtControllerSolidLayer.spatialReference=t.spatialReference,this.districtControllerSolidLayer.popupEnabled=!0,this.view.map.addMany([this.districtControllerDashLayer,this.districtControllerSolidLayer])}async showDistricts(t){await this.clearDistricts();const e=[];for(let i=0;i<t.length;i++){const r=t[i],s=r.getAllSignalCoordinates();let a=null;if(s.length>=2)if(s.length===2)a=n.lineString(s);else{const y=n.featureCollection(s.map(p=>n.point(p)));a=c.convex(y),a||(a=n.lineString(s))}else if(s.length===1)a=n.point(s[0]);else continue;const u=c.buffer(a.geometry,200,{units:"meters"}),h=new f({geometry:{type:"polyline",paths:u.geometry.coordinates},attributes:{ObjectID:i,id:r.id,name:r.name,subDistrictCount:r.subDistrictCount,signalCount:r.signalCount,parentId:r.parentId,parentName:r.parentName,selected:this.style,type:"district"}});e.push(h)}await this.districtControllerDashLayer.applyEdits({addFeatures:e}),await this.districtControllerSolidLayer.applyEdits({addFeatures:e}),await this.view.goTo(e,{duration:this.hasGpu?1e3:0})}async clearDistricts(){let t=await this.districtControllerDashLayer.queryFeatures();await this.districtControllerDashLayer.applyEdits({deleteFeatures:t.features}),this.districtControllerDashLayer.definitionExpression="1=1",t=await this.districtControllerSolidLayer.queryFeatures(),await this.districtControllerSolidLayer.applyEdits({deleteFeatures:t.features}),this.districtControllerSolidLayer.definitionExpression="1=1"}setVisible(t){this.districtControllerDashLayer.visible=t,this.districtControllerSolidLayer.visible=t}async locateDistrict(t){const e=this.districtControllerDashLayer.createQuery();e.where=`id = '${t}'`,e.returnGeometry=!0,e.outFields=["*"];const i=await this.districtControllerDashLayer.queryFeatures(e);return i.features.length>0?(await this.view.goTo(i.features,{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}):{status:1,message:"未找到区控"}}async highlightDistrict(t){const e=this.districtControllerDashLayer.definitionExpression;this.districtControllerDashLayer.definitionExpression=`id = '${t}'`;const i=await this.districtControllerDashLayer.queryFeatures(),r=i.features.length;return r>0?(this.districtControllerSolidLayer.definitionExpression=`id = '${t}'`,await this.view.goTo(i.features,{duration:this.hasGpu?1e3:0})):this.districtControllerDashLayer.definitionExpression=e,r}filter(t){const e=`id = '${t}'`;this.districtControllerDashLayer.definitionExpression=e,this.districtControllerSolidLayer.definitionExpression=e}resetFilter(){this.districtControllerDashLayer.definitionExpression="1=1",this.districtControllerSolidLayer.definitionExpression="1=1"}}exports.default=L;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("@arcgis/core/Graphic"),u=require("@arcgis/core/layers/FeatureLayer"),l=require("../layer-symbol.js");class y{constructor(e,a){this.view=e,this.hasGpu=a,this.signalMarkerLayer=new u(l.signalMarkerLayerOptions),this.signalMarkerLayer.spatialReference=e.spatialReference,this.signalMarkerLayer.popupEnabled=!0,this.signalPictureLayer=new u(l.signalPictureLayerOptions),this.signalPictureLayer.spatialReference=e.spatialReference,this.signalPictureLayer.popupEnabled=!0,this.signalClusterLayer=new u(l.signalClusterLayerOptions),this.signalClusterLayer.spatialReference=e.spatialReference,this.signalClusterLayer.popupEnabled=!0,this.view.map.addMany([this.signalMarkerLayer,this.signalPictureLayer,this.signalClusterLayer])}async showSignals(e){await this.clearSignals();let a=0;const s=[];e.forEach(r=>{r.signals.forEach(i=>{const t=new d({geometry:{type:"point",longitude:i.longitude,latitude:i.latitude},attributes:{ObjectID:a++,id:i.id,name:i.name,signalId:i.signalId,nodeId:i.nodeId||i.id,districtId:r.id,districtName:r.name,subDistrictId:"",subDistrictName:"",isKey:i.isKey,type:"signal",selected:!0}});s.push(t)}),r.subDistricts.forEach(i=>{i.signals.forEach(t=>{const n=new d({geometry:{type:"point",longitude:t.longitude,latitude:t.latitude},attributes:{ObjectID:a++,id:t.id,name:t.name,signalId:t.signalId,nodeId:t.nodeId||t.id,districtId:r.id,districtName:r.name,subDistrictId:i.id,subDistrictName:i.name,isKey:t.isKey,type:"signal",selected:!0}});s.push(n)})})}),await this.signalMarkerLayer.applyEdits({addFeatures:s}),await this.signalPictureLayer.applyEdits({addFeatures:s}),await this.signalClusterLayer.applyEdits({addFeatures:s})}async clearSignals(){let e=await this.signalMarkerLayer.queryFeatures();await this.signalMarkerLayer.applyEdits({deleteFeatures:e.features}),this.signalMarkerLayer.definitionExpression="1=1",e=await this.signalPictureLayer.queryFeatures(),await this.signalPictureLayer.applyEdits({deleteFeatures:e.features}),this.signalPictureLayer.definitionExpression="1=1",e=await this.signalClusterLayer.queryFeatures(),await this.signalClusterLayer.applyEdits({deleteFeatures:e.features}),this.signalClusterLayer.definitionExpression="1=1"}async setPointVisible(e){this.signalMarkerLayer.visible=e,this.signalPictureLayer.visible=e}setClusterVisible(e){this.signalClusterLayer.visible=e}async locateSignal(e){return{status:0,message:"ok"}}async highlightSignal(e){let a="",s="";const r=this.signalMarkerLayer.definitionExpression;this.signalMarkerLayer.definitionExpression=`signalId = '${e}'`;const i=await this.signalMarkerLayer.queryFeatures(),t=i.features.length;if(t>0){const n=i.features[0].attributes.districtId||"",c=i.features[0].attributes.subDistrictId||"";return await this.view.goTo(i.features,{duration:this.hasGpu?1e3:0}),{districtId:n,subDistrictId:c,count:t}}else this.signalMarkerLayer.definitionExpression=r;return{districtId:a,subDistrictId:s,count:t}}filter(e,a){const s=`${e==="district"?"districtId":"subDistrictId"} = '${a}'`;this.signalClusterLayer.definitionExpression=s,this.signalMarkerLayer.definitionExpression=s,this.signalPictureLayer.definitionExpression=s}resetFilter(){const e="1=1";this.signalClusterLayer.definitionExpression=e,this.signalMarkerLayer.definitionExpression=e,this.signalPictureLayer.definitionExpression=e}}exports.default=y;
|
package/lib/src/gis-map/utils/signal-control-area-controller/renderer/sub-district-renderer.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("@arcgis/core/Graphic"),o=require("@arcgis/core/layers/FeatureLayer"),c=require("../layer-symbol.js");class d{constructor(t,i){this.view=t,this.hasGpu=i,this.subDistrictPointLayer=new o(c.subDistrictPointLayerOptions),this.subDistrictPointLayer.spatialReference=t.spatialReference,this.subDistrictPointLayer.popupEnabled=!0,this.view.map.add(this.subDistrictPointLayer)}async showSubDistricts(t){await this.clearSubDistricts();let i=0;const s=[],r=[];t.forEach(e=>{r.push({value:e.id,label:e.name,symbol:{type:"simple-marker",style:"circle",color:[0,0,0,0],size:"8px",outline:{color:[...e.areaColor],width:4}}}),e.signals.forEach(a=>{const u=new n({geometry:{type:"point",longitude:a.longitude,latitude:a.latitude},attributes:{ObjectID:i++,id:a.id,name:a.name,subDistrictId:e.id,subDistrictName:e.name,districtId:e.parentId,districtName:e.parentName,signalCount:e.signalCount}});s.push(u)})}),this.subDistrictPointLayer.renderer={type:"unique-value",field:"subDistrictId",defaultSymbol:{type:"simple-marker",color:"gray",size:"8px",outline:{color:"white",width:1}},defaultLabel:"其他子区",uniqueValueInfos:r,visualVariables:[{type:"size",valueExpression:"$view.scale",stops:[{size:24,value:2500},{size:20,value:5e3},{size:8,value:18055.954822000003},{size:4,value:144447.638572},{size:2,value:1155581108577e-6}]}]},await this.subDistrictPointLayer.applyEdits({addFeatures:s}),await this.view.goTo(s,{duration:this.hasGpu?1e3:0})}async clearSubDistricts(){const t=await this.subDistrictPointLayer.queryFeatures();t.features.length>0&&await this.subDistrictPointLayer.applyEdits({deleteFeatures:t.features}),this.subDistrictPointLayer.definitionExpression="1=1"}setVisible(t){this.subDistrictPointLayer.visible=t}async locateSubDistrict(t){const i=this.subDistrictPointLayer.createQuery();i.where=`subDistrictId = '${t}'`,i.returnGeometry=!0;const s=await this.subDistrictPointLayer.queryFeatures(i);return s.features.length>0?(await this.view.goTo(s.features,{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}):{status:1,message:"未找到区控"}}async highlightSubDistrict(t){let i="";const s=this.subDistrictPointLayer.definitionExpression;this.subDistrictPointLayer.definitionExpression=`subDistrictId = '${t}'`;const r=await this.subDistrictPointLayer.queryFeatures(),e=r.features.length;return e>0?(i=r.features[0].attributes.districtId,await this.view.goTo(r.features,{duration:this.hasGpu?1e3:0})):this.subDistrictPointLayer.definitionExpression=s,{count:e,parentId:i}}filter(t,i){const s=`${t==="district"?"districtId":"subDistrictId"} = '${i}'`;this.subDistrictPointLayer.definitionExpression=s}resetFilter(){this.subDistrictPointLayer.definitionExpression="1=1"}}exports.default=d;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("@arcgis/core/geometry"),m=require("@arcgis/core/geometry/support/webMercatorUtils"),g=require("@arcgis/core/Graphic"),w=require("@arcgis/core/layers/GraphicsLayer"),D=require("@turf/buffer"),R=require("@turf/convex"),S=require("@turf/helpers"),G=require("concaveman"),O=require("../../stores/index.js"),C=require("./district-controller.js"),I=require("./renderer/district-renderer.js"),v=require("./renderer/signal-renderer.js"),L=require("./renderer/sub-district-renderer.js");function q(o){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const t in o)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(o,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>o[t]})}}return e.default=o,Object.freeze(e)}const l=q(S);class k{constructor(e){this.detachmentLayerLoaded=!1,this.districtControllerOid=0,this.subDistrictControllerOid=0,this.signalOid=0,this.popupEnabled=!0,this.districtGraphics=[],this.subDistrictGraphics=[],this.signalGraphics=[],this.view=e,this.hasGpu=localStorage.getItem("gpu")!=="Unknown";const t=O.default.useAppDataStore;this.mapConfig=JSON.parse(JSON.stringify(t.mapConfig)),this.detachmentLayer=new w,this.view.map.add(this.detachmentLayer),this.districtRenderer=new I.default(e,this.hasGpu),this.subDistrictRenderer=new L.default(e,this.hasGpu),this.signalRenderer=new v.default(e,this.hasGpu)}async showSignalControlArea(e){this.detachmentLayerLoaded||await this.loadDetachmentLayer(),await this.clearSignalControlArea(),this.districtRenderer.setVisible(!1),this.subDistrictRenderer.setVisible(!1),this.signalRenderer.setClusterVisible(!1),this.signalRenderer.setPointVisible(!1);const t=[],s=[];for(const r of e.areaList){const n=new C.default(r,e.style||"");t.push(n),s.push(...n.subDistricts)}return this.districtRenderer.style=e.style||"",await this.districtRenderer.showDistricts(t),await this.subDistrictRenderer.showSubDistricts(s),await this.signalRenderer.showSignals(t),{status:0,message:"ok"}}async clearSignalControlArea(){return this.districtGraphics=[],this.subDistrictGraphics=[],this.signalGraphics=[],this.districtControllerOid=0,this.subDistrictControllerOid=0,this.signalOid=0,await this.districtRenderer.clearDistricts(),await this.subDistrictRenderer.clearSubDistricts(),await this.signalRenderer.clearSignals(),{status:0,message:"ok"}}setLayerVisibility(e){switch(e.visible===!1&&this.view.closePopup(),e.id){case"district":this.districtRenderer.setVisible(e.visible);break;case"subDistrict":this.subDistrictRenderer.setVisible(e.visible);break;case"signal":this.signalRenderer.setPointVisible(e.visible);break;case"signalCluster":this.signalRenderer.setClusterVisible(e.visible);break;case"shanghai_district":this.detachmentLayer.visible=e.visible;break}return{status:0,message:"ok"}}async locateSignalControlArea(e){switch(e.type){case"district":return await this.districtRenderer.locateDistrict(e.id);case"subDistrict":return await this.subDistrictRenderer.locateSubDistrict(e.id);case"signal":return await this.signalRenderer.locateSignal(e.id);default:return{status:1,message:"未知类型"}}}async highlightSignalControlArea(e){switch(this.view.closePopup(),e.type){case"district":return await this.districtRenderer.highlightDistrict(e.id)?(this.subDistrictRenderer.filter("district",e.id),this.signalRenderer.filter("district",e.id),{status:0,message:"ok"}):{status:1,message:"未找到区控"};case"subDistrict":{const{count:t,parentId:s}=await this.subDistrictRenderer.highlightSubDistrict(e.id);return t>0?(this.districtRenderer.filter(s),this.signalRenderer.filter("subDistrict",e.id),{status:0,message:"ok"}):{status:1,message:"未找到子区"}}case"signal":{const{districtId:t,subDistrictId:s,count:r}=await this.signalRenderer.highlightSignal(e.id);return r>0?(this.districtRenderer.filter(t),this.subDistrictRenderer.filter("subDistrict",s),await this.view.goTo({target:this.signalGraphics,scale:e.scale||1e3},{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}):{status:1,message:"未找到信号机"}}default:return{status:1,message:"未知类型"}}}async resetHighlight(){return this.districtRenderer.resetFilter(),this.subDistrictRenderer.resetFilter(),this.signalRenderer.resetFilter(),{status:0,message:"ok"}}generateGraphic(e,t,s){const r=e.getAllSignalCoordinates();let n=null;if(r.length>=2)if(r.length===2)n=l.lineString(r);else{if(t){const i=l.featureCollection(r.map(c=>l.point(c)));n=R(i)}else{const i=G(r,.5);i.length>=4&&(n=l.polygon([i]))}n||(n=l.lineString(r))}else if(r.length===1)n=l.point(r[0]);else return;const a=D(n.geometry,t?200:30,{units:"meters"}),u=new g({geometry:{type:"polyline",paths:a.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,selected:s,type:t?"district":"subDistrict"}});t?this.districtGraphics.push(u):this.subDistrictGraphics.push(u);for(const i of e.subDistricts)this.generateGraphic(i,!1,s);e.signals.forEach(i=>{const c=new g({geometry:{type:"point",x:i.longitude,y:i.latitude},attributes:{ObjectID:this.signalOid++,id:i.id,name:i.name,signalId:i.signalId,nodeId:i.nodeId,isKey:i.isKey,districtId:t?e.id:e.parentId,districtName:t?e.name:e.parentName,subDistrictId:t?"":e.id,subDistrictName:t?"":e.name,type:"signal",selected:!0}});this.signalGraphics.push(c)})}async loadDetachmentLayer(){const e=this.mapConfig.baseLayers;if(!e)return;const t=e.find(s=>s.options.id==="shanghai_district");if(t)try{const r=await(await fetch("/GisViewerAssets/ShangHai/Layers/district.json")).json(),n=[],{renderer:a,labelingInfo:u}=t.options;r.features.forEach(i=>{const c=i.attributes.ZD_NAME;if(c!=="高架支队"){let d=new y.Polygon({rings:i.geometry.rings});d=m.webMercatorToGeographic(d);const h=new g({geometry:d,attributes:i.attributes});if(a){if(a.type==="simple")h.symbol=a.symbol;else if(a.type==="unique-value"){const b=h.getAttribute("OBJECTID"),f=a.uniqueValueInfos.find(p=>p.value==b);h.symbol=f?f.symbol:a.defaultSymbol}}else h.symbol={type:"simple-fill",color:[227,237,255,.4],outline:{color:[255,195,153],width:2}};if(n.push(h),u&&c!=="边防港航支队"&&c!=="机场支队"){const b=new g({geometry:d.centroid,symbol:{...u.symbol,text:c}});n.push(b)}}}),this.detachmentLayer.addMany(n),this.detachmentLayerLoaded=!0}catch(s){console.error("加载支队图层失败:",s);return}}}exports.default=k;
|
|
File without changes
|
|
File without changes
|
/package/es/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/edit-area.d.ts
RENAMED
|
File without changes
|
/package/es/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/edit-area.mjs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/es/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/show-area.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/lib/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/edit-area.d.ts
RENAMED
|
File without changes
|
/package/lib/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/edit-area.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/lib/src/gis-map/utils/{signal-control-area-controller → signal-control-area}/show-area.d.ts
RENAMED
|
File without changes
|