From 75b9ebdf49c6fe06623278a64aed87cc523c46df Mon Sep 17 00:00:00 2001 From: wulitaotao <547306458@qq.com> Date: 星期三, 22 二月 2023 09:39:11 +0800 Subject: [PATCH] 通视分析、地形整平、坡度分析 --- src/views/Synthesis/index.vue | 3 + public/index.html | 3 + src/views/Synthesis/LeftMenu.vue | 58 ++++++++++++++-------------- public/globle/globle.js | 20 ++++++++++ 4 files changed, 55 insertions(+), 29 deletions(-) diff --git a/public/globle/globle.js b/public/globle/globle.js new file mode 100644 index 0000000..5023da2 --- /dev/null +++ b/public/globle/globle.js @@ -0,0 +1,20 @@ +window.PDelevationTool = null; //鍧″害鍒嗘瀽 +window.DXTerrainFlattening = null; //鍦板舰鍘嬪钩 +window.TSExcavation = null; //閫氳鍒嗘瀽 + +function ClearAlayse() { + if (window.PDelevationTool != null) { + window.PDelevationTool.type = "none"; + window.PDelevationTool.render(); + window.PDelevationTool = null; + } + + if (window.DXTerrainFlattening != null) { + DXTerrainFlattening.remove(); + DXTerrainFlattening = null; + } + if (window.TSExcavation != null) { + window.TSExcavation.deleteObject(); + window.TSExcavation = null; + } +} diff --git a/public/index.html b/public/index.html index 7a800e2..a798435 100644 --- a/public/index.html +++ b/public/index.html @@ -25,6 +25,9 @@ <script src="./config/config.js"></script> <script src="./config/rsa.min.js"></script> <script src="./config/rollups.js"></script> + <script src="./globle/globle.js"></script> + + <style> .esriControlsBR { diff --git a/src/views/Synthesis/LeftMenu.vue b/src/views/Synthesis/LeftMenu.vue index eb6449d..d35ccab 100644 --- a/src/views/Synthesis/LeftMenu.vue +++ b/src/views/Synthesis/LeftMenu.vue @@ -35,6 +35,7 @@ </template> <script> + import { transform } from 'ol/proj'; import mapinfo from '../Tools/mapinfo.vue'; import maplayer from '../Tools/maplayer.vue'; @@ -410,7 +411,6 @@ methods: { //浜岀礆鑿滃崟鐐瑰嚮鍒囨崲 setChangeTwoMenu(res) { - this.$store.state.mapMenuBoolean = false; this.$store.state.mapMenuBoxFlag = null; this.$store.state.mapPopBoolean = false; @@ -446,6 +446,9 @@ this.showTwoMenuFlag = res.id; switch (val) { + + + case 'a': //鍥惧眰绠$悊 this.setCoverage(res.id); @@ -1111,12 +1114,14 @@ break; case 'd2': that.isslopeFlag = !that.isslopeFlag; + window.PDelevationTool= new SmartEarth.ElevationTool(sgworld);//鍏ㄥ眬鍙橀噺 if (that.isslopeFlag == true) { - elevationTool.type = 'slope'; + PDelevationTool.type = 'slope'; + PDelevationTool.tf = this.checked; } else { - elevationTool.type = 'none'; + PDelevationTool.type = 'none'; } - elevationTool.render(); + PDelevationTool.render(); break; case 'd3': var value = { @@ -1199,28 +1204,23 @@ } break; case 'd10': - if (window.TerrainFlattening) { - window.TerrainFlattening.remove(); - window.TerrainFlattening = null; - } else { - sgworld.Creator.createSimpleGraphic( - 'polygon', - { - clampToGround: true, - }, - function (entity) { - var positions = entity.polygon.hierarchy.getValue().positions; - sgworld.Creator.SimpleGraphic.remove(entity.id); - window.TerrainFlattening = - sgworld.Creator.createTerrainModifier( - '鍦板舰鍘嬪钩', - positions, - 10, - {} - ); - } - ); + + if(window.DXTerrainFlattening!=null){ + DXTerrainFlattening.remove(); } + sgworld.Creator.createSimpleGraphic( + 'polygon', + { + clampToGround: true, + }, + function (entity) { + let positions = entity.polygon.hierarchy.getValue().positions; + console.log(positions); + sgworld.Creator.SimpleGraphic.remove(entity.id); + + window.DXTerrainFlattening = sgworld.Creator.createTerrainModifier("鍦板舰鍘嬪钩", positions, 10, {}); + } + ); break; case 'd11': @@ -1237,11 +1237,11 @@ break; case "d12": - if (window.Excavation) { - window.Excavation.deleteObject() - window.Excavation = null + if (window.TSExcavation!=null) { + window.TSExcavation.deleteObject() + window.TSExcavation = null } else { - window.Excavation = sgworld.Analysis.createSightLine({ + window.TSExcavation = sgworld.Analysis.createSightLine({ type: "default", }) } diff --git a/src/views/Synthesis/index.vue b/src/views/Synthesis/index.vue index deddc49..f27906c 100644 --- a/src/views/Synthesis/index.vue +++ b/src/views/Synthesis/index.vue @@ -128,6 +128,9 @@ methods: { //宸︿晶鑿滃崟婊戝姩鏄鹃殣 setMenuChange(res) { + //娓呴櫎鍒嗘瀽妯″潡鐨勫叏灞�鍙橀噺 + ClearAlayse(); + switch (res.id) { case 1: -- Gitblit v1.9.3