Browse Source

绘制内容结算0107

zhiyuan-007 3 months ago
parent
commit
9affe3fa07

BIN
src/assets/三维_点.png


+ 17 - 41
src/components/mapJK.vue

@@ -537,7 +537,6 @@ export default {
 
 
       function showThreeCubeDetail(params){
-        debugger
         console.log("进来了",params)
         let status = params.status;
         let id = params.id;
@@ -550,7 +549,6 @@ export default {
         }
         let size = params.size;
         if(addThreeCubeDetailInstance[id]){
-          debugger
           addThreeCubeDetailInstance[id].add(params.points);
         }else{
           let addThreeCubeDetailEvent = new AddThreeCubeDetailEvent({
@@ -558,7 +556,6 @@ export default {
             points:params.points,
             size,
           });
-          debugger
           addThreeCubeDetailEvent.start();
           addThreeCubeDetailInstance[id] = addThreeCubeDetailEvent;
         }
@@ -573,7 +570,6 @@ export default {
           //level: level,
           scrollId: scrollId,
         }).then(res =>{
-          debugger
           if(res.data.data.list?.length >= 10000 && res.data.data.scrollId){
             powerDataList =  powerDataList.concat(res.data.data.list);
             getAllPowerPoints(level,res.data.data.scrollId);
@@ -803,7 +799,6 @@ export default {
 
       function showThreeNet(params){
         let status = params.status;
-        debugger
         if(addThreeNetEvent){
           addThreeNetEvent.clear();
           addThreeNetEvent = null;
@@ -836,7 +831,6 @@ export default {
           level: level,
           scrollId: scrollId,
         }).then(res =>{
-          debugger
           if(res.data.data.list?.length >= 10000 && res.data.data.scrollId){
             addThreeCubeEvent.addPoints(res.data.data.list);
             getAllBuildingPoints(level,res.data.data.scrollId);
@@ -855,7 +849,6 @@ export default {
           level: level,
           scrollId: scrollId,
         }).then(res =>{
-          debugger
           if(res.data.data.list?.length >= 10000 && res.data.data.scrollId){
             addThreeCubeEvent.addPoints(res.data.data.list);
             getNoFlyPoint(level,res.data.data.scrollId);
@@ -874,7 +867,6 @@ export default {
           level: level,
           scrollId: scrollId,
         }).then(res =>{
-          debugger
           if(res.data.data.list?.length >= 10000 && res.data.data.scrollId){
             addThreeCubeEvent.addPoints(res.data.data.list);
             getRoadPoint(level,res.data.data.scrollId);
@@ -892,7 +884,6 @@ export default {
           level: level,
           scrollId: scrollId,
         }).then(res =>{
-          debugger
           if(res.data.data.list?.length >= 10000 && res.data.data.scrollId){
             addThreeCubeEvent.addPoints(res.data.data.list);
             getRiverPoint(level,res.data.data.scrollId);
@@ -989,7 +980,6 @@ export default {
       //       }
       //     }
       //   }catch(e){
-      //     debugger
       //     console.log("params",params)
       //   }
       // }
@@ -1198,7 +1188,6 @@ export default {
         }
         //优化数据
         //params.paths = Path.paths;
-        debugger
         let pathPipeEvent = new PathPipeEvent({
           view:m_view,
           paths:params.paths,
@@ -1236,29 +1225,21 @@ export default {
 
       function getRealFlyPoint(params){
         const connectWebSocket = () => {
-          socket = new WebSocket('ws://58.34.215.19:19259/websocket');
+          socket = new WebSocket('ws://58.34.215.19:19259/aircraftRouteSpeedWebSocket');
 
           socket.onopen = () => {
             console.log('WebSocket 连接成功');
+            socket.send(JSON.stringify({}))
           };
 
           socket.onmessage = (messageEvent) => {
-            let messages = JSON.parse(messageEvent.data);
+            let messages = JSON.parse(messageEvent.data).data;
             messages.forEach(message => {
-              debugger
-              if(message.id == "4"){
-                flyGLTF({
-                  id:message.id,
-                  status:"show",
-                  point:message.position
-                })
-              }else{
-                flyGLTF({
-                  id:message.id,
-                  status:"show",
-                  point:message.position
-                })
-              }
+              flyGLTF({
+                id:message.id,
+                status:"show",
+                point:message.position_cj
+              })
             })
             console.log('收到消息:', messageEvent.data);
           };
@@ -1282,9 +1263,7 @@ export default {
 
       //ws 推送方法
       function getRealPower(params){
-        debugger
         const connectWebSocket = () => {
-          debugger
           socket = new WebSocket('ws://58.34.215.19:19259/gridSearchWebSocket');
           socket.onopen = () => {
             console.log('WebSocket 连接成功');
@@ -1310,7 +1289,6 @@ export default {
           };
 
           socket.onmessage = (messageEvent) => {
-            debugger
             let messages = JSON.parse(messageEvent.data);
             messages.data.list.forEach((point) =>{
               point.color = [0, 1, 1];
@@ -1326,17 +1304,14 @@ export default {
               },
               "points":messages.data.list,
             }
-            debugger
             showThreeCubeDetail(para);
           };
 
           socket.onerror = (error) => {
-            debugger
             console.error('WebSocket 出错:', error);
           };
 
           socket.onclose = () => {
-            debugger
             console.log('WebSocket 连接已关闭');
           };
         };
@@ -1353,6 +1328,7 @@ export default {
         let minZ = params.minZ;
         let maxZ = params.maxZ;
         let size = params.size;
+        let fields = params.fields;
         showThreeCubeDetail({
           id,
           status:"hide"
@@ -1369,6 +1345,7 @@ export default {
           minZ,
           maxZ,
           level,
+          fields,
           scrollId:""
         });
       }
@@ -1382,15 +1359,13 @@ export default {
           minZ:params.minZ,
           maxZ:params.maxZ,
           level: params.level,
+          fields: params.fields,
           scrollId: params.scrollId,
         }).then(res =>{
-          debugger
           if(res.data.data.list?.length >= 100000 && res.data.data.scrollId){
-            debugger
             // res.data.data.list.forEach((point) =>{
             //   point.color = [0, 1, 1];
             // });
-            debugger
             // res.data.data.list.forEach((item)=>{
             //   item.color = getColor(item.averageValue, -50, 50);
             // })
@@ -1400,7 +1375,6 @@ export default {
               "size":params.size,
               "points":res.data.data.list,
             })
-            debugger
             params.scrollId = res.data.data.scrollId;
 
             getSixPowerPoints(params);
@@ -1421,7 +1395,6 @@ export default {
 
       //需要添加初始路径(手动绘制和自动绘制)结果
       function draw(params){
-        debugger
         let id = params.id;
         let geometryType = params.type;
         let status = params.status;
@@ -1539,6 +1512,7 @@ export default {
         if(status == "hide"){
           return
         }
+        // params.paths = Path.paths
         symbolPathPipeEvent = new SymbolPathPipeEvent({
           view:m_view,
           paths:params.paths,
@@ -1555,7 +1529,6 @@ export default {
         if(status == "hide"){
           return
         }
-        debugger
         symbolPointCubeEvent = new SymbolPointCubeEvent({
           view:m_view,
           points:params.points,
@@ -1583,13 +1556,16 @@ export default {
 
       function featurePolygonPlotting(params){
         let status = params.status;
-        if (featurePointsPlottingEvent) {
-          featurePointsPlottingEvent.clear()
+        let id = params.id;
+        let f_layer = m_map.layers.find(item => item.id === id);
+        if (f_layer) {
+          m_map.remove(f_layer);
         }
         if(status == "hide"){
           return
         }
         featurePointsPlottingEvent = new FeaturePolygonPlottingEvent({
+          id,
           view:m_view,
           data:params.data
         });

+ 5 - 3
src/config/basicTool.json

@@ -42,7 +42,7 @@
             "title":"BaseMap",
             "visible": true,
             "opacity": 1,
-            "url": "https://cimweb.zjw.sh.cegn.cn:2008/MapServiceProxy/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzU2OTQwMzgsImtleSI6IjkzNDkzMzIxIiwic2VydmljZU5vIjoiRDkwMDEwMDcxMjAyMzA4MDEiLCJ1c2VybmFtZSI6InB0Z2wifQ.HSYfQ3hEfn5L-hhg2DhfJlP4LVMcil-sIymaiwxz6N0",
+            "url": "https://cimweb.zjw.sh.cegn.cn:2008/MapServiceProxy/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzYyNDc0MTMsImtleSI6IjkzNDkzMzIxIiwic2VydmljZU5vIjoiRDkwMDEwMDcxMjAyMzA4MDEiLCJ1c2VybmFtZSI6InB0Z2wifQ.TwTfoKsUR4EdsQkwTEAKU_Tbw5daQ1fQcV81z31BO4g",
             "token": ""
           }
         }
@@ -1232,10 +1232,11 @@
             "data": [
               {
                 "geometry": {
-                  "rings": [[[0, 0], [0, 1000], [1000, 1000], [1000, 0], [0, 0]]]
+                  "rings": [[[0, 0,1000], [0, 1000,1000], [1000, 1000,1000], [1000, 0,1000], [0, 0,1000]]]
                 },
                 "attributes": {
                   "FID": 1,
+                  "id": 1,
                   "name": "Polygon 1"
                 },
                 "symbol": {
@@ -1245,10 +1246,11 @@
               },
               {
                 "geometry": {
-                  "rings": [[[2000, 2000], [2000, 3000], [3000, 3000], [3000, 2000], [2000, 2000]]]
+                  "rings": [[[2000, 2000,0], [2000, 3000,0], [3000, 3000,0], [3000, 2000,0], [2000, 2000,0]]]
                 },
                 "attributes": {
                   "FID": 2,
+                  "id": 2,
                   "name": "Polygon 2"
                 },
                 "symbol": {

File diff suppressed because it is too large
+ 1360 - 0
src/config/polygon_wjcJson.json


+ 2 - 1
src/service/http.js

@@ -32,7 +32,8 @@ export function getPowerPoint(params){
                 //  "G001133223-031112-303001.1|000000000000000000000001"
             ],
             "fields":["gridCode","x","y","z","element","boxSize"],
-            "elementFields":["demographics","green","river","road","collision_buffer","no_fly_zone_buffer"],
+            //"elementFields":["demographics","green","river","road","collision_buffer","no_fly_zone_buffer"],
+            "elementFields":params.fields,
             //"elementFields":["road"],
             "scrollPage": {
                 "pageIndex": 1,

+ 0 - 2
src/units/map/AddSingleLayer.js

@@ -28,7 +28,6 @@ class AddSingleLayer{
     }
     addSingleLayer() {
         let item = this.m_map.layers.findIndex(item => item.id === this.id);
-        debugger
         if(item == -1){
             if(this.visible){
                 switch (this.type) {
@@ -46,7 +45,6 @@ class AddSingleLayer{
                         })
                         break;
                     case "feature":
-                        debugger
                         this.layer = new FeatureLayer({
                             url:this.url,
                             id:this.id,

+ 0 - 2
src/units/map/AddThreeNetEvent.js

@@ -27,7 +27,6 @@ class  AddThreeNetEvent{
         if (this.addThreeNetEvent) {
             this.clear();
         }
-        debugger
         let subRenderClass = RenderNode.createSubclass(ThreeNetClass);
         this.extent.minX = this.origin.x;
         this.extent.maxX = this.origin.x + Math.ceil((this.buffer/this.size.xLength)) * this.size.xLength;
@@ -35,7 +34,6 @@ class  AddThreeNetEvent{
         this.extent.maxY = this.origin.y + Math.ceil((this.buffer/this.size.yLength)) * this.size.yLength;
         this.extent.minZ = Math.floor(this.minHeight/this.size.zLength) * this.size.zLength;
         this.extent.maxZ =  Math.ceil(this.maxHeight/this.size.zLength) * this.size.zLength;
-        debugger
         this.view.when(()=>{
             this.addThreeNetEvent = new subRenderClass({
                 view:that.view,

+ 5 - 6
src/units/map/FeaturePointsPlottingEvent.js

@@ -13,7 +13,6 @@ class FeaturePointsPlottingEvent {
     add(){
         let resultPointGraphics = [];
         this.data.forEach((item) =>{
-            debugger
             let point = new Point({
                 type: "point", // autocasts as new Point()
                 x: item.geometry.x,
@@ -55,30 +54,30 @@ class FeaturePointsPlottingEvent {
                     ]
                 },
             },
-            elevationInfo: { mode: "relative-to-scene" }, // 相对于建筑高度
+            elevationInfo: { mode: "relative-to-ground" }, // 相对于建筑高度
             labelingInfo: [{
                 labelExpressionInfo: {
                     value: "{name}"
                 },
-                labelPlacement: "always-horizontal", //"always-horizontal"center-center
+                labelPlacement: "above-center", // 可以调整为 “above-center” 或 “below-center”等
                 symbol: {
                     type: "label-3d", // autocasts as new LabelSymbol3D()
                     symbolLayers: [
                         {
                             type: "text", // autocasts as new TextSymbol3DLayer()
                             material: {
-                                color: [209, 254, 203,1] //[0, 240, 255,1]
+                                color: [35, 250, 250, 1] // [0, 240, 255,1]
                             },
                             font: {  // autocasts as new Font()
                                 size: 12,
-                                //family: "Josefin Slab",
                                 weight: "bold"
                             },
                         }
-                    ]
+                    ],
                 }
             }]
         });
+
     }
     clear(){
         this.featureLayer.removeAll();

+ 7 - 1
src/units/map/FeaturePolygonPlottingEvent.js

@@ -6,6 +6,7 @@ class FeaturePolygonPlottingEvent {
     constructor(options) {
         this.view = options.view;
         this.data = options.data;
+        this.id =options.id;
         this.featureLayer = null;
         this.add();
     }
@@ -27,7 +28,7 @@ class FeaturePolygonPlottingEvent {
         });
 
         this.featureLayer = new FeatureLayer({
-            id: "featurePolygonPlottingEvent",
+            id: this.id,
             title: "面标绘",
             source: resultPolygonGraphics, // 数据源
             objectIdField: "FID", // 必须字段,定义唯一标识
@@ -49,6 +50,11 @@ class FeaturePolygonPlottingEvent {
                                 size: item.symbol.size || 300, // 支持自定义高度
                                 material: {
                                     color: item.symbol.color || [255, 255, 255, 0.8] // 自定义颜色
+                                },
+                                edges: {
+                                    type: 'solid',
+                                    color: [0, 0, 0, 0.5],
+                                    size: 2
                                 }
                             }
                         ]

+ 0 - 1
src/units/map/FlyGLTFEvent.js

@@ -61,7 +61,6 @@ class FlyGLTFEvent{
         this.gridMeshes = [];
     }
     followPath(status){
-        debugger
         if(this.followTimer){
             clearInterval(this.followTimer);
             this.followTimer = null;

+ 0 - 1
src/units/map/InitMap.js

@@ -49,7 +49,6 @@ class InitMap{
         // };
         this.m_view.watch("stationary",(stationary) =>{
             if(stationary){
-                debugger
                 this.bus.emit('SendMessage', {
                     action: "MapExtentChanged",
                     data: {

+ 0 - 2
src/units/map/LimitHeightAnalysis.js

@@ -20,7 +20,6 @@ class LimitHeightAnalysis{
 
         this.view.when(()=>{
             that.view.whenLayerView(sceneLayer).then((layerView) => {
-                debugger
                 limitForHeight.view = that.view
                 limitForHeight.limitH = that.limitH
                 limitForHeight.maxLimitH = that.maxLimitH
@@ -34,7 +33,6 @@ class LimitHeightAnalysis{
         })
     }
     clear(){
-        debugger
         if(this.limitHeightAnalysis){
             externalRenderers.remove(this.view, this.limitHeightAnalysis)
             this.limitHeightAnalysis = null

+ 0 - 1
src/units/map/SymbolPointCubeEvent.js

@@ -18,7 +18,6 @@ class SymbolPointCubeEvent{
             id: "symbolPointCubeEvent",
             title: "绘制立方体"
         });
-        debugger
         //this.points = Path.ypPath;
         this.points.forEach((point)=>{
             let geometry = new Point({

+ 0 - 1
src/units/threejs/flyGLTF.js

@@ -61,7 +61,6 @@ export const FlyGLTFClass = {
         const loader = new GLTFLoader();
         let that = this;
         loader.load('public/gltf/mtwrj.glb', function (gltf) {
-            debugger
             gltf.scene.scale.set(4, 4, 4);
             that.scene.add(gltf.scene);
             that.targetObject = gltf.scene;

+ 0 - 2
src/units/threejs/lightBall.js

@@ -56,7 +56,6 @@ export const LightBallClass = {
         this.sun = new THREE.DirectionalLight(0xffffff, 0.5);
         this.sun.position.set(-600, 300, 60000);
         this.scene.add(this.sun);
-        debugger
         this.getGeometry();
 
 
@@ -178,7 +177,6 @@ export const LightBallClass = {
         // Projection matrix can be copied directly
         this._camera.projectionMatrix.fromArray(cam.projectionMatrix);
         //动画效果
-        debugger
         if (this.uniforms) {
             this.uniforms.time.value =  (this.uniforms.time.value + 0.01) % 1;
         }

+ 0 - 3
src/units/threejs/limitForHeight.js

@@ -89,7 +89,6 @@ export const limitForHeight = {
             let meshMaterial = this.analysisRender()
             meshMaterial.clippingPlanes = clipPanels
             this.meshGroup = new THREE.Group()
-            debugger
             let posGroup = await this.analyseLayerView.getFeatureInfo()
             this.createGeometry(posGroup)
             this.meshGroup &&
@@ -138,7 +137,6 @@ export const limitForHeight = {
     //根据多边形点创建裁切面
     createClipPlane() {
         let clipPanels = []
-        debugger
         this.drawVertices.push(this.drawVertices[0])
         for (let k = 0; k < this.drawVertices.length - 1; k++) {
             let point1 = this.drawVertices[k]
@@ -193,7 +191,6 @@ export const limitForHeight = {
             depthTest: false
         })
         material.onBeforeCompile = function (shader, renderer) {
-            debugger
             //声明用到的变量和常量
             const getFoot = `
           uniform mat4 cameraMatrix;

+ 2 - 2
src/units/threejs/pathPipe.js

@@ -130,8 +130,8 @@ export const PathPipeClass = {
             side: THREE.DoubleSide,
             blending: THREE.AdditiveBlending,
             transparent: true,
-            depthWrite: false,
-            depthTest:true,
+            depthWrite: true,
+            depthTest:true
         });
         return material;
     },

+ 3 - 4
src/units/threejs/threeCubeDetail.js

@@ -69,7 +69,7 @@ export const ThreeCubeDetailClass = {
 
         const material = new THREE.MeshPhongMaterial({
             transparent: true,
-            opacity: 0.05,
+            opacity: 0.02,
             depthTest: true,
             side: THREE.DoubleSide,
             depthWrite: false,
@@ -164,8 +164,8 @@ export const ThreeCubeDetailClass = {
             const edgesGeometry = new THREE.EdgesGeometry(this.mesh.geometry);
             const glowMaterial = new THREE.LineBasicMaterial({
                 color: new THREE.Color(color[0], color[1], color[2]),
-                opacity: 0.7,
-                linewidth: 2,
+                opacity: 0.2,
+                linewidth: 1,
                 transparent: true,
                 side: THREE.DoubleSide,
             });
@@ -189,7 +189,6 @@ export const ThreeCubeDetailClass = {
     // 点击事件处理函数
     onMouseClick(event) {
         // 获取点击位置的屏幕坐标
-        debugger
         let mouse = []
         this.webgl.toRenderCoordinates(
             this.view,

+ 0 - 1
src/units/threejs/threeNet.js

@@ -43,7 +43,6 @@ export const ThreeNetClass = {
         this.createGridLines()
     },
     createGridLines(){
-        debugger
         let linePositions = [];
         const minX = this.extent.minX;
         const maxX = this.extent.maxX;