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