From 36fbd1e5a40e319e6ac5f43d11c99ba4b66e93a3 Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期三, 29 十一月 2023 16:50:16 +0800 Subject: [PATCH] 坡度分析下载修改 --- src/assets/js/Map/temporaryTools.js | 71 ++++++++++++++++++++++++++++++++--- 1 files changed, 65 insertions(+), 6 deletions(-) diff --git a/src/assets/js/Map/temporaryTools.js b/src/assets/js/Map/temporaryTools.js index 21adfa3..2a2f44a 100644 --- a/src/assets/js/Map/temporaryTools.js +++ b/src/assets/js/Map/temporaryTools.js @@ -1,5 +1,7 @@ import store from "@/store"; import { none } from "ol/centerconstraint"; +import * as turf from "@turf/turf"; +import WKT from "terraformer-wkt-parser"; var temporaryTool = { isedit: false, removeTemporaryLayer(res) { @@ -10,17 +12,73 @@ } } }, - locationTemporaryLayer(res){ + removeTemporaryLayerAll() { + var entities = window.Viewer.entities._entities._array; + for (var i = 0; i < entities.length; i++) { + if (entities[i]._shpType && entities[i]._shpType == "temporaryLayer") { + window.Viewer.entities.remove(entities[i]) + i--; + } + } + }, + + getWKT(res) { + var geom = res.geometry; + var coord = null; + debugger + switch (res.type) { + case "point": + case "label": + coord = turf.point([geom.lng, geom.lat]); + break; + case "polygon": + var std = []; + for (var i = 0; i < geom.length; i++) { + if (i % 2 == 0) { + std.push([geom[i], geom[i + 1]]) + } + } + std.push(std[0]) + debugger + coord = turf.polygon([std]); + break; + case "polyline": + + var std = []; + for (var i = 0; i < geom.length; i++) { + if (i % 2 == 0) { + std.push([geom[i], geom[i + 1]]) + } + } + + coord = turf.lineString(std); + break; + case "rectangle": + coord = turf.polygon([[ + [geom[0], geom[1]], + [geom[0], geom[3]], + [geom[2], geom[3]], + [geom[2], geom[1]], + [geom[0], geom[1]], + ]]); + break; + } + var wkt = WKT.convert(coord.geometry); + debugger + return WKT.convert(coord.geometry); + + }, + locationTemporaryLayer(res) { var entities = window.Viewer.entities._entities._array; for (var i in entities) { if (entities[i].id == res.id && entities[i]._shpType == res.shpType) { window.Viewer.flyTo(entities[i], { offset: { - heading: Cesium.Math.toRadians(0.0), - pitch: Cesium.Math.toRadians(-90), - range: 400 + heading: Cesium.Math.toRadians(0.0), + pitch: Cesium.Math.toRadians(-90), + range: 400 } - }); + }); } } }, @@ -145,7 +203,7 @@ ), outline: false, outlineWidth: res.width, - + outlineColor: Cesium.Color.fromCssColorString( res.outlineColor ).withAlpha(res.outlineAlpha), @@ -423,6 +481,7 @@ layerType: '鍩烘湰鐐�', heightReference: res.point.disableDepthTestDistance != null ? false : true, size: res.point.pixelSize._value, + } }, -- Gitblit v1.9.3