gisviewer-vue3-arcgis 1.0.234 → 1.0.235
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/src/gis-map/utils/signal-control-area/district-controller.mjs +20 -24
- package/es/src/gis-map/utils/signal-control-area/sub-district-renderer.mjs +3 -3
- package/lib/src/gis-map/utils/signal-control-area/district-controller.js +1 -1
- package/lib/src/gis-map/utils/signal-control-area/sub-district-renderer.js +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
class
|
|
3
|
-
constructor(s,
|
|
4
|
-
this.parentName = "", this.signals = [], this.subDistricts = [], this.areaColor = this.getDarkNonGrayColor(), this.signalCount = 0, this.subDistrictCount = 0, this.id = s.name, this.name = s.areaDesc, this.parentId = s.parentId,
|
|
1
|
+
import e from "../common-utils.mjs";
|
|
2
|
+
class r {
|
|
3
|
+
constructor(s, o) {
|
|
4
|
+
this.parentName = "", this.signals = [], this.subDistricts = [], this.areaColor = this.getDarkNonGrayColor(), this.signalCount = 0, this.subDistrictCount = 0, this.id = s.name, this.name = s.areaDesc, this.parentId = s.parentId, o === "alarm" && (this.areaColor = [255, 0, 0]);
|
|
5
5
|
for (const t of s.children)
|
|
6
6
|
if (t.children) {
|
|
7
|
-
const i = new
|
|
7
|
+
const i = new r(t, o);
|
|
8
8
|
i.id = t.id, i.name = `SS ${t.name}`, i.parentId = this.id, i.parentName = this.name, i.areaColor = this.getDarkNonGrayColor(t.id), this.subDistricts.push(i), this.subDistrictCount++, this.signalCount += i.signalCount;
|
|
9
|
-
} else if (
|
|
9
|
+
} else if (e.isCoordinateValid(t)) {
|
|
10
10
|
const i = {
|
|
11
11
|
id: t.id,
|
|
12
12
|
name: t.name,
|
|
@@ -26,32 +26,28 @@ class h {
|
|
|
26
26
|
*/
|
|
27
27
|
getAllSignalCoordinates() {
|
|
28
28
|
const s = [];
|
|
29
|
-
for (const
|
|
30
|
-
s.push([
|
|
31
|
-
for (const
|
|
32
|
-
s.push(...
|
|
29
|
+
for (const o of this.signals)
|
|
30
|
+
s.push([o.longitude, o.latitude]);
|
|
31
|
+
for (const o of this.subDistricts)
|
|
32
|
+
s.push(...o.getAllSignalCoordinates());
|
|
33
33
|
return s;
|
|
34
34
|
}
|
|
35
35
|
getDarkNonGrayColor(s) {
|
|
36
|
-
let
|
|
36
|
+
let o, t, i;
|
|
37
37
|
if (s) {
|
|
38
|
-
const
|
|
39
|
-
|
|
38
|
+
const a = this.cyrb53(s);
|
|
39
|
+
o = ((a & 16711680) >> 16) % 200, t = ((a & 65280) >> 8) % 200, i = (a & 255) % 200;
|
|
40
40
|
} else
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const e = (r + a / 30) % 12, l = i / 100 - o * Math.max(Math.min(e - 3, 9 - e, 1), -1);
|
|
44
|
-
return Math.round(255 * l);
|
|
45
|
-
};
|
|
46
|
-
return [n(0), n(8), n(4)];
|
|
41
|
+
o = Math.floor(Math.random() * 256), t = Math.floor(Math.random() * 256), i = Math.floor(Math.random() * 256);
|
|
42
|
+
return [o, t, i];
|
|
47
43
|
}
|
|
48
|
-
cyrb53(s,
|
|
49
|
-
let t = 3735928559 ^
|
|
50
|
-
for (let
|
|
51
|
-
n = s.charCodeAt(
|
|
44
|
+
cyrb53(s, o = 0) {
|
|
45
|
+
let t = 3735928559 ^ o, i = 1103547991 ^ o;
|
|
46
|
+
for (let a = 0, n; a < s.length; a++)
|
|
47
|
+
n = s.charCodeAt(a), t = Math.imul(t ^ n, 2654435761), i = Math.imul(i ^ n, 1597334677);
|
|
52
48
|
return t = Math.imul(t ^ t >>> 16, 2246822507), t ^= Math.imul(i ^ i >>> 13, 3266489909), i = Math.imul(i ^ i >>> 16, 2246822507), i ^= Math.imul(t ^ t >>> 13, 3266489909), 4294967296 * (2097151 & i) + (t >>> 0);
|
|
53
49
|
}
|
|
54
50
|
}
|
|
55
51
|
export {
|
|
56
|
-
|
|
52
|
+
r as default
|
|
57
53
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import v from "@arcgis/core/Graphic";
|
|
2
2
|
import w from "@arcgis/core/layers/FeatureLayer";
|
|
3
|
-
import { subDistrictPointLayerOptions as z, subDistrictLineLayerOptions as
|
|
3
|
+
import { subDistrictPointLayerOptions as z, subDistrictLineLayerOptions as I } from "./layer-symbol.mjs";
|
|
4
4
|
class F {
|
|
5
5
|
constructor(e, t) {
|
|
6
6
|
this.view = e, this.hasGpu = t, this.subDistrictPointLayer = new w(
|
|
7
7
|
z
|
|
8
8
|
), this.subDistrictPointLayer.spatialReference = e.spatialReference, this.subDistrictPointLayer.popupEnabled = !0, this.subDistrictLineLayer = new w(
|
|
9
|
-
|
|
9
|
+
I
|
|
10
10
|
), this.subDistrictLineLayer.spatialReference = e.spatialReference, this.subDistrictLineLayer.popupEnabled = !0, this.view.map.addMany([
|
|
11
11
|
this.subDistrictLineLayer,
|
|
12
12
|
this.subDistrictPointLayer
|
|
@@ -39,7 +39,7 @@ class F {
|
|
|
39
39
|
},
|
|
40
40
|
attributes: {
|
|
41
41
|
ObjectID: t++,
|
|
42
|
-
id: a.
|
|
42
|
+
id: a.nodeId,
|
|
43
43
|
name: a.name,
|
|
44
44
|
subDistrictId: i.id,
|
|
45
45
|
subDistrictName: i.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("../common-utils.js");class n{constructor(s,e){this.parentName="",this.signals=[],this.subDistricts=[],this.areaColor=this.getDarkNonGrayColor(),this.signalCount=0,this.subDistrictCount=0,this.id=s.name,this.name=s.areaDesc,this.parentId=s.parentId,e==="alarm"&&(this.areaColor=[255,0,0]);for(const t of s.children)if(t.children){const i=new n(t,e);i.id=t.id,i.name=`SS ${t.name}`,i.parentId=this.id,i.parentName=this.name,i.areaColor=this.getDarkNonGrayColor(t.id),this.subDistricts.push(i),this.subDistrictCount++,this.signalCount+=i.signalCount}else if(r.default.isCoordinateValid(t)){const i={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(i),this.signalCount++}}getAllSignalCoordinates(){const s=[];for(const e of this.signals)s.push([e.longitude,e.latitude]);for(const e of this.subDistricts)s.push(...e.getAllSignalCoordinates());return s}getDarkNonGrayColor(s){let e,t,i;if(s){const o=this.cyrb53(s);e=((o&16711680)>>16)%200,t=((o&65280)>>8)%200,i=(o&255)%200}else e=Math.floor(Math.random()*256),t=Math.floor(Math.random()*256),i=Math.floor(Math.random()*256);return[e,t,i]}cyrb53(s,e=0){let t=3735928559^e,i=1103547991^e;for(let o=0,a;o<s.length;o++)a=s.charCodeAt(o),t=Math.imul(t^a,2654435761),i=Math.imul(i^a,1597334677);return t=Math.imul(t^t>>>16,2246822507),t^=Math.imul(i^i>>>13,3266489909),i=Math.imul(i^i>>>16,2246822507),i^=Math.imul(t^t>>>13,3266489909),4294967296*(2097151&i)+(t>>>0)}}exports.default=n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("@arcgis/core/Graphic"),w=require("@arcgis/core/layers/FeatureLayer"),g=require("./layer-symbol.js");class z{constructor(e,t){this.view=e,this.hasGpu=t,this.subDistrictPointLayer=new w(g.subDistrictPointLayerOptions),this.subDistrictPointLayer.spatialReference=e.spatialReference,this.subDistrictPointLayer.popupEnabled=!0,this.subDistrictLineLayer=new w(g.subDistrictLineLayerOptions),this.subDistrictLineLayer.spatialReference=e.spatialReference,this.subDistrictLineLayer.popupEnabled=!0,this.view.map.addMany([this.subDistrictLineLayer,this.subDistrictPointLayer])}async showSubDistricts(e){await this.clearSubDistricts(),this.clickHandler=this.view.on("click",this.viewHitTest.bind(this));let t=0;const s=[],r=[];e.forEach(i=>{r.push({value:i.id,label:i.name,symbol:{type:"simple-marker",style:"circle",color:[0,0,0,0],size:"8px",outline:{color:[...i.areaColor],width:4}}}),i.signals.forEach(a=>{const u=new m({geometry:{type:"point",longitude:a.longitude,latitude:a.latitude},attributes:{ObjectID:t++,id:a.
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("@arcgis/core/Graphic"),w=require("@arcgis/core/layers/FeatureLayer"),g=require("./layer-symbol.js");class z{constructor(e,t){this.view=e,this.hasGpu=t,this.subDistrictPointLayer=new w(g.subDistrictPointLayerOptions),this.subDistrictPointLayer.spatialReference=e.spatialReference,this.subDistrictPointLayer.popupEnabled=!0,this.subDistrictLineLayer=new w(g.subDistrictLineLayerOptions),this.subDistrictLineLayer.spatialReference=e.spatialReference,this.subDistrictLineLayer.popupEnabled=!0,this.view.map.addMany([this.subDistrictLineLayer,this.subDistrictPointLayer])}async showSubDistricts(e){await this.clearSubDistricts(),this.clickHandler=this.view.on("click",this.viewHitTest.bind(this));let t=0;const s=[],r=[];e.forEach(i=>{r.push({value:i.id,label:i.name,symbol:{type:"simple-marker",style:"circle",color:[0,0,0,0],size:"8px",outline:{color:[...i.areaColor],width:4}}}),i.signals.forEach(a=>{const u=new m({geometry:{type:"point",longitude:a.longitude,latitude:a.latitude},attributes:{ObjectID:t++,id:a.nodeId,name:a.name,subDistrictId:i.id,subDistrictName:i.name,districtId:i.parentId,districtName:i.parentName,signalCount:i.signalCount,color:i.areaColor.join(","),type:"subDistrict"}});s.push(u)})}),this.subDistrictPointLayer.renderer={type:"unique-value",field:"subDistrictId",defaultSymbol:{type:"simple-marker",color:[180,180,180,.5],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}]}]},this.currentPointRenderer=this.subDistrictPointLayer.renderer.clone(),await this.subDistrictPointLayer.applyEdits({addFeatures:s}),await this.view.goTo(s,{duration:this.hasGpu?1e3:0})}async showRoads(e){const t=this.subDistrictPointLayer.createQuery();t.where=`districtId = '${e}'`;const s=await this.subDistrictPointLayer.queryFeatures(t),r=new Map;s.features.forEach(u=>{var o;const{subDistrictId:c,color:l,id:p,districtName:b,subDistrictName:n,signalCount:y}=u.attributes;r.has(c)||r.set(c,{color:l,signalIds:[],districtName:b,subDistrictName:n,signalCount:y}),(o=r.get(c))==null||o.signalIds.push(p)});const i=[],a=[];for(const u of r){let c=0;const l=u[0];i.push({value:l,symbol:{type:"simple-line",color:u[1].color.split(",").map(Number),width:2,style:"solid"}});const{districtName:p,subDistrictName:b,signalIds:n,signalCount:y}=u[1];if(!(n.length<2))for(let o=0;o<n.length;o++)for(let d=0;d<n.length;d++){if(o===d)continue;const L=n[o],D=n[d];if(a.some(h=>{const v=h.attributes;return v&&v.fromNode===D&&v.toNode===L}))continue;const f=this.roadLines.find(h=>h.fromNode===L&&h.toNode===D);if(!f)continue;const P=new m({geometry:{type:"polyline",paths:[f.coordinates]},attributes:{ObjectID:c++,id:f.id,districtId:e,subDistrictId:l,subDistrictName:b,districtName:p,signalCount:y,fromNode:L,toNode:D,color:u[1].color}});a.push(P)}}this.subDistrictLineLayer.renderer={type:"unique-value",field:"subDistrictId",defaultSymbol:{type:"simple-line",color:[180,180,180,.5],width:2,style:"solid"},defaultLabel:"其他子区",uniqueValueInfos:i,visualVariables:[{type:"size",valueExpression:"$view.scale",stops:[{size:6,value:2500},{size:5,value:5e3},{size:4,value:18055.954822000003},{size:3,value:144447.638572},{size:2,value:1155581108577e-6}]}]},this.currentLineRenderer=this.subDistrictLineLayer.renderer.clone(),await this.subDistrictLineLayer.applyEdits({addFeatures:a})}async clearSubDistricts(){var s;const e=await this.subDistrictPointLayer.queryFeatures();e.features.length>0&&await this.subDistrictPointLayer.applyEdits({deleteFeatures:e.features}),this.subDistrictPointLayer.definitionExpression="1=1";const t=await this.subDistrictLineLayer.queryFeatures();t.features.length>0&&await this.subDistrictLineLayer.applyEdits({deleteFeatures:t.features}),this.subDistrictLineLayer.definitionExpression="1=1",(s=this.clickHandler)==null||s.remove()}setVisible(e){this.subDistrictPointLayer.visible=e,this.subDistrictLineLayer.visible=e}async locateSubDistrict(e){const t=this.subDistrictPointLayer.createQuery();t.where=`subDistrictId = '${e}'`,t.returnGeometry=!0;const s=await this.subDistrictPointLayer.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:"未找到子区"}}async highlightSubDistrict(e){let t="";const s=this.subDistrictPointLayer.definitionExpression;this.subDistrictPointLayer.definitionExpression=`subDistrictId = '${e}'`;const r=await this.subDistrictPointLayer.queryFeatures(),i=r.features.length;return i>0?(this.subDistrictLineLayer.definitionExpression=`subDistrictId = '${e}'`,t=r.features[0].attributes.districtId,await this.view.goTo(r.features,{duration:this.hasGpu?1e3:0})):this.subDistrictPointLayer.definitionExpression=s,{count:i,parentId:t}}filter(e,t){const s=`${e==="district"?"districtId":"subDistrictId"} = '${t}'`;this.subDistrictPointLayer.definitionExpression=s,this.subDistrictLineLayer.definitionExpression=s}resetFilter(){this.subDistrictPointLayer.definitionExpression="1=1",this.subDistrictLineLayer.definitionExpression="1=1"}async viewHitTest(e){var r;const s=(r=(await this.view.hitTest(e,{include:[this.subDistrictPointLayer,this.subDistrictLineLayer]})).results)==null?void 0:r.filter(i=>i.type==="graphic");if(s.length===0)this.subDistrictPointLayer.renderer=this.currentPointRenderer,this.subDistrictLineLayer.renderer=this.currentLineRenderer;else{const i=s[0].graphic;this.subDistrictPointLayer.renderer={type:"unique-value",field:"subDistrictId",defaultSymbol:{type:"simple-marker",style:"circle",color:[0,0,0,0],size:"8px",outline:{color:[180,180,180,.5],width:4}},defaultLabel:"其他子区",uniqueValueInfos:[{value:i.attributes.subDistrictId,symbol:{type:"simple-marker",style:"circle",color:[0,0,0,0],size:"8px",outline:{color:i.attributes.color.split(",").map(Number),width:4}}}],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}]}]},this.subDistrictLineLayer.renderer={type:"unique-value",field:"subDistrictId",defaultSymbol:{type:"simple-line",style:"solid",color:[180,180,180,.5],width:"8px"},defaultLabel:"其他子区",uniqueValueInfos:[{value:i.attributes.subDistrictId,symbol:{type:"simple-line",style:"solid",color:i.attributes.color.split(",").map(Number),width:"8px"}}],visualVariables:[{type:"size",valueExpression:"$view.scale",stops:[{size:6,value:2500},{size:5,value:5e3},{size:4,value:18055.954822000003},{size:3,value:144447.638572},{size:2,value:1155581108577e-6}]}]}}}}exports.default=z;
|