月球大数据地理空间分析展示平台-【前端】-月球2期前端
surprise
2023-11-27 b1e9c826c1ba48c3dc263039699636ed2ba3be4e
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) {
@@ -19,6 +21,48 @@
            }
        }
    },
    getWKT(res) {
        var geom = res.geometry;
        var coord = null;
        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])
                    }
                }
                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;
        }
       return  WKT.convert(coord.geometry);
    },
    locationTemporaryLayer(res) {
        var entities = window.Viewer.entities._entities._array;
        for (var i in entities) {