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 |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 52 insertions(+), 2 deletions(-)

diff --git a/src/assets/js/Map/temporaryTools.js b/src/assets/js/Map/temporaryTools.js
index 9cd6c93..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) {
@@ -12,11 +14,59 @@
     },
     removeTemporaryLayerAll() {
         var entities = window.Viewer.entities._entities._array;
-        for (var i in entities) {
+        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;
@@ -431,7 +481,7 @@
             layerType: '鍩烘湰鐐�',
             heightReference: res.point.disableDepthTestDistance != null ? false : true,
             size: res.point.pixelSize._value,
- 
+
         }
     },
 

--
Gitblit v1.9.3