Просмотр исходного кода

Merge branch 'master' of http://114.244.114.158:8802/siwei/real3d-portalsite

zpf 11 месяцев назад
Родитель
Сommit
5d29356d0c
4 измененных файлов с 104 добавлено и 12 удалено
  1. 49 10
      package-lock.json
  2. 2 1
      package.json
  3. 53 1
      src/components/mapView/range.vue
  4. BIN
      static/images/ghzc/内容框.png

+ 49 - 10
package-lock.json

@@ -4002,8 +4002,7 @@
     "core-util-is": {
       "version": "1.0.2",
       "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
-      "dev": true
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
     },
     "cosmiconfig": {
       "version": "5.2.1",
@@ -7999,8 +7998,7 @@
     "inherits": {
       "version": "2.0.4",
       "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz",
-      "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=",
-      "dev": true
+      "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w="
     },
     "ini": {
       "version": "1.3.5",
@@ -8389,8 +8387,7 @@
     "isarray": {
       "version": "1.0.0",
       "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
     },
     "isexe": {
       "version": "2.0.0",
@@ -14985,8 +14982,7 @@
     "typedarray": {
       "version": "0.0.6",
       "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz",
-      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
-      "dev": true
+      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
     },
     "uglify-js": {
       "version": "3.4.10",
@@ -15357,8 +15353,7 @@
     "util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
     },
     "util.promisify": {
       "version": "1.0.1",
@@ -16336,6 +16331,50 @@
       "integrity": "sha1-f4RzvIOd/YdgituV1+sHUhFXikI=",
       "dev": true
     },
+    "wellknown": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/wellknown/-/wellknown-0.5.0.tgz",
+      "integrity": "sha512-za5vTLuPF9nmrVOovYQwNEWE/PwJCM+yHMAj4xN1WWUvtq9OElsvKiPL0CR9rO8xhrYqL7NpI7IknqR8r6eYOg==",
+      "requires": {
+        "concat-stream": "~1.5.0",
+        "minimist": "~1.2.0"
+      },
+      "dependencies": {
+        "concat-stream": {
+          "version": "1.5.2",
+          "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+          "integrity": "sha512-H6xsIBfQ94aESBG8jGHXQ7i5AEpy5ZeVaLDOisDICiTCKpqEfr34/KmTrspKQNoLKNu9gTkovlpQcUi630AKiQ==",
+          "requires": {
+            "inherits": "~2.0.1",
+            "readable-stream": "~2.0.0",
+            "typedarray": "~0.0.5"
+          }
+        },
+        "process-nextick-args": {
+          "version": "1.0.7",
+          "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+          "integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw=="
+        },
+        "readable-stream": {
+          "version": "2.0.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+          "integrity": "sha512-TXcFfb63BQe1+ySzsHZI/5v1aJPCShfqvWJ64ayNImXMsN1Cd0YGk/wm8KB7/OeessgPc9QvS9Zou8QTkFzsLw==",
+          "requires": {
+            "core-util-is": "~1.0.0",
+            "inherits": "~2.0.1",
+            "isarray": "~1.0.0",
+            "process-nextick-args": "~1.0.6",
+            "string_decoder": "~0.10.x",
+            "util-deprecate": "~1.0.1"
+          }
+        },
+        "string_decoder": {
+          "version": "0.10.31",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+          "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
+        }
+      }
+    },
     "whet.extend": {
       "version": "0.9.9",
       "resolved": "https://registry.npm.taobao.org/whet.extend/download/whet.extend-0.9.9.tgz",

+ 2 - 1
package.json

@@ -24,7 +24,8 @@
         "vue": "^2.6.12",
         "vue-layer": "^1.2.5",
         "vue-lazyload": "^1.3.3",
-        "vue-template-compiler": "2.6.12"
+        "vue-template-compiler": "2.6.12",
+        "wellknown": "^0.5.0"
     },
     "devDependencies": {
         "autoprefixer": "^7.1.2",

+ 53 - 1
src/components/mapView/range.vue

@@ -37,6 +37,8 @@
 <script>
 import { ShapeUpload } from "@/api/ghss/hgxfx.js";
 import { ElMessage } from "element-ui";
+// import { polygon } from "@turf/turf";
+import * as turf from "@turf/turf";
 export default {
   components: {},
   props: {
@@ -228,7 +230,57 @@ export default {
       }
       common.handlerDrawing("Polygon").then(
         (res) => {
-          console.log(res.positions, "------");
+          // console.log(res.positions, "------");
+          //过滤掉高度
+          const filteredArr = res.positions.filter((item, index) => {
+            if ((index + 1) % 3 !== 0) {
+              return item;
+            }
+          });
+
+          console.log(filteredArr, "filteredArr");
+
+          // 数组变二维数组方法
+          function listToMatrix(list, elementsPerSubArray) {
+            var matrix = [],
+              i,
+              k;
+
+            for (i = 0, k = -1; i < list.length; i++) {
+              if (i % elementsPerSubArray === 0) {
+                k++;
+                matrix[k] = [];
+              }
+
+              matrix[k].push(list[i]);
+            }
+
+            return matrix;
+          }
+
+          var matrix = listToMatrix(filteredArr, 2);
+          // console.log(matrix, "max-----");
+
+          matrix.push(matrix[0]);
+          const geojsonPolygon = turf.polygon([matrix]);
+          var parse = require("wellknown"); //引入wellknow
+          const wktPolygon = parse.stringify(geojsonPolygon);
+          // console.log("WKT Polygon:", wktPolygon);
+
+          const formdata = new FormData();
+          // formdata.append("file", file.raw);
+          formdata.append("fromType", 1);
+          formdata.append("geom", wktPolygon);
+          formdata.append("fromRoute", this.$route.path);
+          // this.addPolygon();
+          ShapeUpload(formdata).then((res) => {
+            if (res.success) {
+              this.$message({
+                message: "绘制成功!",
+                type: "success",
+              });
+            }
+          });
         },
         (err) => {
           console.log(err);

BIN
static/images/ghzc/内容框.png