From 7e6b37afd1295c71bca1de595426330aff88420d Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期一, 08 一月 2024 09:55:53 +0800 Subject: [PATCH] 代码提交 --- vue.config.js | 6 src/components/menu/tools/plotting.vue | 10 static/SmartEarthSDK/Workers/field/rendermapWorker.js | 2 static/img/test03-01.png | 0 src/assets/js/Layer/test03-01.png | 0 src/components/menu/tools/roam.vue | 6 static/image/锥桶.png | 0 src/assets/js/Layer/model.js | 11 src/components/menu/tools/special copy.vue | 1247 +++++++++++++++ static/image/施工车辆.png | 0 static/layers.json | 94 + src/components/menu/tools/special.vue | 119 src/components/left/layerTree/modelEdit.vue | 4 src/components/left/layerTree/messageInfo.vue | 129 + src/components/left/layerTree/Layer.vue | 24 src/assets/img/model/桶.png | 0 src/store/index.js | 26 src/components/left/layerTree/zhaiHaiInfo.vue | 204 ++ src/assets/js/Layer/mapOL.js | 217 ++ src/router/index.js | 2 src/components/index.vue | 12 src/components/menu/tools/measure.vue | 130 src/components/right/@/assets/img/new/yingxiang.png | 0 src/components/menu/menulist.vue | 16 static/html/AnalysisResultEchartLine.html | 2 src/components/right/right-bottom.vue | 32 src/components/left/leftmenu.vue | 86 src/store/mapSplit.js | 2 static/CimSDK/Workers/field/rendermapWorker.js | 2 src/components/right/right-top.vue | 9 src/assets/img/model/工人.png | 0 package-lock.json | 1429 ++++++++++++++++ src/components/right/switchImagerLayer.vue | 79 static/image/路障.png | 0 src/components/left/layerTree.vue | 4 src/components/left/layerTree/menuQuery.vue | 274 +++ static/data/layerData.js | 49 src/api/api.js | 8 src/assets/js/Layer/zhuanghao.js | 139 + src/assets/js/Layer/mapViewer.js | 29 static/SmartEarthSDK/Workers/prop/property_prop.html | 2 src/assets/js/Layer/mapGeo.js | 180 ++ src/assets/img/model/锥桶.png | 0 src/assets/js/Layer/mapInfo.js | 78 src/assets/js/Layer/measure.js | 32 src/assets/img/model/施工车辆.png | 0 src/components/left/layerTree/measureCoord.vue | 175 ++ static/image/桶.png | 0 src/components/map/viewer.vue | 63 static/image/工人.png | 0 src/assets/js/Layer/menuGrid.js | 13 src/components/map/history.vue | 4 package.json | 1 src/assets/img/model/路障.png | 0 54 files changed, 4,592 insertions(+), 359 deletions(-) diff --git a/package-lock.json b/package-lock.json index 99b4990..df2083b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -142,6 +142,1284 @@ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" }, + "@turf/along": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/along/-/along-6.5.0.tgz", + "integrity": "sha512-LLyWQ0AARqJCmMcIEAXF4GEu8usmd4Kbz3qk1Oy5HoRNpZX47+i5exQtmIWKdqJ1MMhW26fCTXgpsEs5zgJ5gw==", + "requires": { + "@turf/bearing": "^6.5.0", + "@turf/destination": "^6.5.0", + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/angle": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/angle/-/angle-6.5.0.tgz", + "integrity": "sha512-4pXMbWhFofJJAOvTMCns6N4C8CMd5Ih4O2jSAG9b3dDHakj3O4yN1+Zbm+NUei+eVEZ9gFeVp9svE3aMDenIkw==", + "requires": { + "@turf/bearing": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/rhumb-bearing": "^6.5.0" + } + }, + "@turf/area": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/area/-/area-6.5.0.tgz", + "integrity": "sha512-xCZdiuojokLbQ+29qR6qoMD89hv+JAgWjLrwSEWL+3JV8IXKeNFl6XkEJz9HGkVpnXvQKJoRz4/liT+8ZZ5Jyg==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/bbox": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/bbox/-/bbox-6.5.0.tgz", + "integrity": "sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/bbox-clip": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/bbox-clip/-/bbox-clip-6.5.0.tgz", + "integrity": "sha512-F6PaIRF8WMp8EmgU/Ke5B1Y6/pia14UAYB5TiBC668w5rVVjy5L8rTm/m2lEkkDMHlzoP9vNY4pxpNthE7rLcQ==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/bbox-polygon": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/bbox-polygon/-/bbox-polygon-6.5.0.tgz", + "integrity": "sha512-+/r0NyL1lOG3zKZmmf6L8ommU07HliP4dgYToMoTxqzsWzyLjaj/OzgQ8rBmv703WJX+aS6yCmLuIhYqyufyuw==", + "requires": { + "@turf/helpers": "^6.5.0" + } + }, + "@turf/bearing": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/bearing/-/bearing-6.5.0.tgz", + "integrity": "sha512-dxINYhIEMzgDOztyMZc20I7ssYVNEpSv04VbMo5YPQsqa80KO3TFvbuCahMsCAW5z8Tncc8dwBlEFrmRjJG33A==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/bezier-spline": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/bezier-spline/-/bezier-spline-6.5.0.tgz", + "integrity": "sha512-vokPaurTd4PF96rRgGVm6zYYC5r1u98ZsG+wZEv9y3kJTuJRX/O3xIY2QnTGTdbVmAJN1ouOsD0RoZYaVoXORQ==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/boolean-clockwise": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-clockwise/-/boolean-clockwise-6.5.0.tgz", + "integrity": "sha512-45+C7LC5RMbRWrxh3Z0Eihsc8db1VGBO5d9BLTOAwU4jR6SgsunTfRWR16X7JUwIDYlCVEmnjcXJNi/kIU3VIw==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/boolean-contains": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-contains/-/boolean-contains-6.5.0.tgz", + "integrity": "sha512-4m8cJpbw+YQcKVGi8y0cHhBUnYT+QRfx6wzM4GI1IdtYH3p4oh/DOBJKrepQyiDzFDaNIjxuWXBh0ai1zVwOQQ==", + "requires": { + "@turf/bbox": "^6.5.0", + "@turf/boolean-point-in-polygon": "^6.5.0", + "@turf/boolean-point-on-line": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/boolean-crosses": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-crosses/-/boolean-crosses-6.5.0.tgz", + "integrity": "sha512-gvshbTPhAHporTlQwBJqyfW+2yV8q/mOTxG6PzRVl6ARsqNoqYQWkd4MLug7OmAqVyBzLK3201uAeBjxbGw0Ng==", + "requires": { + "@turf/boolean-point-in-polygon": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/line-intersect": "^6.5.0", + "@turf/polygon-to-line": "^6.5.0" + } + }, + "@turf/boolean-disjoint": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-disjoint/-/boolean-disjoint-6.5.0.tgz", + "integrity": "sha512-rZ2ozlrRLIAGo2bjQ/ZUu4oZ/+ZjGvLkN5CKXSKBcu6xFO6k2bgqeM8a1836tAW+Pqp/ZFsTA5fZHsJZvP2D5g==", + "requires": { + "@turf/boolean-point-in-polygon": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/line-intersect": "^6.5.0", + "@turf/meta": "^6.5.0", + "@turf/polygon-to-line": "^6.5.0" + } + }, + "@turf/boolean-equal": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-equal/-/boolean-equal-6.5.0.tgz", + "integrity": "sha512-cY0M3yoLC26mhAnjv1gyYNQjn7wxIXmL2hBmI/qs8g5uKuC2hRWi13ydufE3k4x0aNRjFGlg41fjoYLwaVF+9Q==", + "requires": { + "@turf/clean-coords": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "geojson-equality": "0.1.6" + } + }, + "@turf/boolean-intersects": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-intersects/-/boolean-intersects-6.5.0.tgz", + "integrity": "sha512-nIxkizjRdjKCYFQMnml6cjPsDOBCThrt+nkqtSEcxkKMhAQj5OO7o2CecioNTaX8EayqwMGVKcsz27oP4mKPTw==", + "requires": { + "@turf/boolean-disjoint": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/boolean-overlap": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-overlap/-/boolean-overlap-6.5.0.tgz", + "integrity": "sha512-8btMIdnbXVWUa1M7D4shyaSGxLRw6NjMcqKBcsTXcZdnaixl22k7ar7BvIzkaRYN3SFECk9VGXfLncNS3ckQUw==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/line-intersect": "^6.5.0", + "@turf/line-overlap": "^6.5.0", + "@turf/meta": "^6.5.0", + "geojson-equality": "0.1.6" + } + }, + "@turf/boolean-parallel": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-parallel/-/boolean-parallel-6.5.0.tgz", + "integrity": "sha512-aSHJsr1nq9e5TthZGZ9CZYeXklJyRgR5kCLm5X4urz7+MotMOp/LsGOsvKvK9NeUl9+8OUmfMn8EFTT8LkcvIQ==", + "requires": { + "@turf/clean-coords": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/line-segment": "^6.5.0", + "@turf/rhumb-bearing": "^6.5.0" + } + }, + "@turf/boolean-point-in-polygon": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-6.5.0.tgz", + "integrity": "sha512-DtSuVFB26SI+hj0SjrvXowGTUCHlgevPAIsukssW6BG5MlNSBQAo70wpICBNJL6RjukXg8d2eXaAWuD/CqL00A==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/boolean-point-on-line": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-point-on-line/-/boolean-point-on-line-6.5.0.tgz", + "integrity": "sha512-A1BbuQ0LceLHvq7F/P7w3QvfpmZqbmViIUPHdNLvZimFNLo4e6IQunmzbe+8aSStH9QRZm3VOflyvNeXvvpZEQ==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/boolean-within": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-within/-/boolean-within-6.5.0.tgz", + "integrity": "sha512-YQB3oU18Inx35C/LU930D36RAVe7LDXk1kWsQ8mLmuqYn9YdPsDQTMTkLJMhoQ8EbN7QTdy333xRQ4MYgToteQ==", + "requires": { + "@turf/bbox": "^6.5.0", + "@turf/boolean-point-in-polygon": "^6.5.0", + "@turf/boolean-point-on-line": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/buffer": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/buffer/-/buffer-6.5.0.tgz", + "integrity": "sha512-qeX4N6+PPWbKqp1AVkBVWFerGjMYMUyencwfnkCesoznU6qvfugFHNAngNqIBVnJjZ5n8IFyOf+akcxnrt9sNg==", + "requires": { + "@turf/bbox": "^6.5.0", + "@turf/center": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0", + "@turf/projection": "^6.5.0", + "d3-geo": "1.7.1", + "turf-jsts": "*" + } + }, + "@turf/center": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/center/-/center-6.5.0.tgz", + "integrity": "sha512-T8KtMTfSATWcAX088rEDKjyvQCBkUsLnK/Txb6/8WUXIeOZyHu42G7MkdkHRoHtwieLdduDdmPLFyTdG5/e7ZQ==", + "requires": { + "@turf/bbox": "^6.5.0", + "@turf/helpers": "^6.5.0" + } + }, + "@turf/center-mean": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/center-mean/-/center-mean-6.5.0.tgz", + "integrity": "sha512-AAX6f4bVn12pTVrMUiB9KrnV94BgeBKpyg3YpfnEbBpkN/znfVhL8dG8IxMAxAoSZ61Zt9WLY34HfENveuOZ7Q==", + "requires": { + "@turf/bbox": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/center-median": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/center-median/-/center-median-6.5.0.tgz", + "integrity": "sha512-dT8Ndu5CiZkPrj15PBvslpuf01ky41DEYEPxS01LOxp5HOUHXp1oJxsPxvc+i/wK4BwccPNzU1vzJ0S4emd1KQ==", + "requires": { + "@turf/center-mean": "^6.5.0", + "@turf/centroid": "^6.5.0", + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/center-of-mass": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/center-of-mass/-/center-of-mass-6.5.0.tgz", + "integrity": "sha512-EWrriU6LraOfPN7m1jZi+1NLTKNkuIsGLZc2+Y8zbGruvUW+QV7K0nhf7iZWutlxHXTBqEXHbKue/o79IumAsQ==", + "requires": { + "@turf/centroid": "^6.5.0", + "@turf/convex": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/centroid": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/centroid/-/centroid-6.5.0.tgz", + "integrity": "sha512-MwE1oq5E3isewPprEClbfU5pXljIK/GUOMbn22UM3IFPDJX0KeoyLNwghszkdmFp/qMGL/M13MMWvU+GNLXP/A==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/circle": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/circle/-/circle-6.5.0.tgz", + "integrity": "sha512-oU1+Kq9DgRnoSbWFHKnnUdTmtcRUMmHoV9DjTXu9vOLNV5OWtAAh1VZ+mzsioGGzoDNT/V5igbFOkMfBQc0B6A==", + "requires": { + "@turf/destination": "^6.5.0", + "@turf/helpers": "^6.5.0" + } + }, + "@turf/clean-coords": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/clean-coords/-/clean-coords-6.5.0.tgz", + "integrity": "sha512-EMX7gyZz0WTH/ET7xV8MyrExywfm9qUi0/MY89yNffzGIEHuFfqwhcCqZ8O00rZIPZHUTxpmsxQSTfzJJA1CPw==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/clone": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/clone/-/clone-6.5.0.tgz", + "integrity": "sha512-mzVtTFj/QycXOn6ig+annKrM6ZlimreKYz6f/GSERytOpgzodbQyOgkfwru100O1KQhhjSudKK4DsQ0oyi9cTw==", + "requires": { + "@turf/helpers": "^6.5.0" + } + }, + "@turf/clusters": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/clusters/-/clusters-6.5.0.tgz", + "integrity": "sha512-Y6gfnTJzQ1hdLfCsyd5zApNbfLIxYEpmDibHUqR5z03Lpe02pa78JtgrgUNt1seeO/aJ4TG1NLN8V5gOrHk04g==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/clusters-dbscan": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/clusters-dbscan/-/clusters-dbscan-6.5.0.tgz", + "integrity": "sha512-SxZEE4kADU9DqLRiT53QZBBhu8EP9skviSyl+FGj08Y01xfICM/RR9ACUdM0aEQimhpu+ZpRVcUK+2jtiCGrYQ==", + "requires": { + "@turf/clone": "^6.5.0", + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0", + "density-clustering": "1.3.0" + } + }, + "@turf/clusters-kmeans": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/clusters-kmeans/-/clusters-kmeans-6.5.0.tgz", + "integrity": "sha512-DwacD5+YO8kwDPKaXwT9DV46tMBVNsbi1IzdajZu1JDSWoN7yc7N9Qt88oi+p30583O0UPVkAK+A10WAQv4mUw==", + "requires": { + "@turf/clone": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0", + "skmeans": "0.9.7" + } + }, + "@turf/collect": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/collect/-/collect-6.5.0.tgz", + "integrity": "sha512-4dN/T6LNnRg099m97BJeOcTA5fSI8cu87Ydgfibewd2KQwBexO69AnjEFqfPX3Wj+Zvisj1uAVIZbPmSSrZkjg==", + "requires": { + "@turf/bbox": "^6.5.0", + "@turf/boolean-point-in-polygon": "^6.5.0", + "@turf/helpers": "^6.5.0", + "rbush": "2.x" + }, + "dependencies": { + "quickselect": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/quickselect/-/quickselect-1.1.1.tgz", + "integrity": "sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ==" + }, + "rbush": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/rbush/-/rbush-2.0.2.tgz", + "integrity": "sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA==", + "requires": { + "quickselect": "^1.0.1" + } + } + } + }, + "@turf/combine": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/combine/-/combine-6.5.0.tgz", + "integrity": "sha512-Q8EIC4OtAcHiJB3C4R+FpB4LANiT90t17uOd851qkM2/o6m39bfN5Mv0PWqMZIHWrrosZqRqoY9dJnzz/rJxYQ==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/concave": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/concave/-/concave-6.5.0.tgz", + "integrity": "sha512-I/sUmUC8TC5h/E2vPwxVht+nRt+TnXIPRoztDFvS8/Y0+cBDple9inLSo9nnPXMXidrBlGXZ9vQx/BjZUJgsRQ==", + "requires": { + "@turf/clone": "^6.5.0", + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0", + "@turf/tin": "^6.5.0", + "topojson-client": "3.x", + "topojson-server": "3.x" + } + }, + "@turf/convex": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/convex/-/convex-6.5.0.tgz", + "integrity": "sha512-x7ZwC5z7PJB0SBwNh7JCeCNx7Iu+QSrH7fYgK0RhhNop13TqUlvHMirMLRgf2db1DqUetrAO2qHJeIuasquUWg==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0", + "concaveman": "*" + } + }, + "@turf/destination": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/destination/-/destination-6.5.0.tgz", + "integrity": "sha512-4cnWQlNC8d1tItOz9B4pmJdWpXqS0vEvv65bI/Pj/genJnsL7evI0/Xw42RvEGROS481MPiU80xzvwxEvhQiMQ==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/difference": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/difference/-/difference-6.5.0.tgz", + "integrity": "sha512-l8iR5uJqvI+5Fs6leNbhPY5t/a3vipUF/3AeVLpwPQcgmedNXyheYuy07PcMGH5Jdpi5gItOiTqwiU/bUH4b3A==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "polygon-clipping": "^0.15.3" + } + }, + "@turf/dissolve": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/dissolve/-/dissolve-6.5.0.tgz", + "integrity": "sha512-WBVbpm9zLTp0Bl9CE35NomTaOL1c4TQCtEoO43YaAhNEWJOOIhZMFJyr8mbvYruKl817KinT3x7aYjjCMjTAsQ==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0", + "polygon-clipping": "^0.15.3" + } + }, + "@turf/distance": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/distance/-/distance-6.5.0.tgz", + "integrity": "sha512-xzykSLfoURec5qvQJcfifw/1mJa+5UwByZZ5TZ8iaqjGYN0vomhV9aiSLeYdUGtYRESZ+DYC/OzY+4RclZYgMg==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/distance-weight": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/distance-weight/-/distance-weight-6.5.0.tgz", + "integrity": "sha512-a8qBKkgVNvPKBfZfEJZnC3DV7dfIsC3UIdpRci/iap/wZLH41EmS90nM+BokAJflUHYy8PqE44wySGWHN1FXrQ==", + "requires": { + "@turf/centroid": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/ellipse": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/ellipse/-/ellipse-6.5.0.tgz", + "integrity": "sha512-kuXtwFviw/JqnyJXF1mrR/cb496zDTSbGKtSiolWMNImYzGGkbsAsFTjwJYgD7+4FixHjp0uQPzo70KDf3AIBw==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/rhumb-destination": "^6.5.0", + "@turf/transform-rotate": "^6.5.0" + } + }, + "@turf/envelope": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/envelope/-/envelope-6.5.0.tgz", + "integrity": "sha512-9Z+FnBWvOGOU4X+fMZxYFs1HjFlkKqsddLuMknRaqcJd6t+NIv5DWvPtDL8ATD2GEExYDiFLwMdckfr1yqJgHA==", + "requires": { + "@turf/bbox": "^6.5.0", + "@turf/bbox-polygon": "^6.5.0", + "@turf/helpers": "^6.5.0" + } + }, + "@turf/explode": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/explode/-/explode-6.5.0.tgz", + "integrity": "sha512-6cSvMrnHm2qAsace6pw9cDmK2buAlw8+tjeJVXMfMyY+w7ZUi1rprWMsY92J7s2Dar63Bv09n56/1V7+tcj52Q==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/flatten": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/flatten/-/flatten-6.5.0.tgz", + "integrity": "sha512-IBZVwoNLVNT6U/bcUUllubgElzpMsNoCw8tLqBw6dfYg9ObGmpEjf9BIYLr7a2Yn5ZR4l7YIj2T7kD5uJjZADQ==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/flip": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/flip/-/flip-6.5.0.tgz", + "integrity": "sha512-oyikJFNjt2LmIXQqgOGLvt70RgE2lyzPMloYWM7OR5oIFGRiBvqVD2hA6MNw6JewIm30fWZ8DQJw1NHXJTJPbg==", + "requires": { + "@turf/clone": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/great-circle": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/great-circle/-/great-circle-6.5.0.tgz", + "integrity": "sha512-7ovyi3HaKOXdFyN7yy1yOMa8IyOvV46RC1QOQTT+RYUN8ke10eyqExwBpL9RFUPvlpoTzoYbM/+lWPogQlFncg==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/helpers": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/helpers/-/helpers-6.5.0.tgz", + "integrity": "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==" + }, + "@turf/hex-grid": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/hex-grid/-/hex-grid-6.5.0.tgz", + "integrity": "sha512-Ln3tc2tgZT8etDOldgc6e741Smg1CsMKAz1/Mlel+MEL5Ynv2mhx3m0q4J9IB1F3a4MNjDeVvm8drAaf9SF33g==", + "requires": { + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/intersect": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/interpolate": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/interpolate/-/interpolate-6.5.0.tgz", + "integrity": "sha512-LSH5fMeiGyuDZ4WrDJNgh81d2DnNDUVJtuFryJFup8PV8jbs46lQGfI3r1DJ2p1IlEJIz3pmAZYeTfMMoeeohw==", + "requires": { + "@turf/bbox": "^6.5.0", + "@turf/centroid": "^6.5.0", + "@turf/clone": "^6.5.0", + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/hex-grid": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0", + "@turf/point-grid": "^6.5.0", + "@turf/square-grid": "^6.5.0", + "@turf/triangle-grid": "^6.5.0" + } + }, + "@turf/intersect": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/intersect/-/intersect-6.5.0.tgz", + "integrity": "sha512-2legGJeKrfFkzntcd4GouPugoqPUjexPZnOvfez+3SfIMrHvulw8qV8u7pfVyn2Yqs53yoVCEjS5sEpvQ5YRQg==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "polygon-clipping": "^0.15.3" + } + }, + "@turf/invariant": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/invariant/-/invariant-6.5.0.tgz", + "integrity": "sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==", + "requires": { + "@turf/helpers": "^6.5.0" + } + }, + "@turf/isobands": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/isobands/-/isobands-6.5.0.tgz", + "integrity": "sha512-4h6sjBPhRwMVuFaVBv70YB7eGz+iw0bhPRnp+8JBdX1UPJSXhoi/ZF2rACemRUr0HkdVB/a1r9gC32vn5IAEkw==", + "requires": { + "@turf/area": "^6.5.0", + "@turf/bbox": "^6.5.0", + "@turf/boolean-point-in-polygon": "^6.5.0", + "@turf/explode": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0", + "object-assign": "*" + } + }, + "@turf/isolines": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/isolines/-/isolines-6.5.0.tgz", + "integrity": "sha512-6ElhiLCopxWlv4tPoxiCzASWt/jMRvmp6mRYrpzOm3EUl75OhHKa/Pu6Y9nWtCMmVC/RcWtiiweUocbPLZLm0A==", + "requires": { + "@turf/bbox": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0", + "object-assign": "*" + } + }, + "@turf/kinks": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/kinks/-/kinks-6.5.0.tgz", + "integrity": "sha512-ViCngdPt1eEL7hYUHR2eHR662GvCgTc35ZJFaNR6kRtr6D8plLaDju0FILeFFWSc+o8e3fwxZEJKmFj9IzPiIQ==", + "requires": { + "@turf/helpers": "^6.5.0" + } + }, + "@turf/length": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/length/-/length-6.5.0.tgz", + "integrity": "sha512-5pL5/pnw52fck3oRsHDcSGrj9HibvtlrZ0QNy2OcW8qBFDNgZ4jtl6U7eATVoyWPKBHszW3dWETW+iLV7UARig==", + "requires": { + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/line-arc": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/line-arc/-/line-arc-6.5.0.tgz", + "integrity": "sha512-I6c+V6mIyEwbtg9P9zSFF89T7QPe1DPTG3MJJ6Cm1MrAY0MdejwQKOpsvNl8LDU2ekHOlz2kHpPVR7VJsoMllA==", + "requires": { + "@turf/circle": "^6.5.0", + "@turf/destination": "^6.5.0", + "@turf/helpers": "^6.5.0" + } + }, + "@turf/line-chunk": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/line-chunk/-/line-chunk-6.5.0.tgz", + "integrity": "sha512-i1FGE6YJaaYa+IJesTfyRRQZP31QouS+wh/pa6O3CC0q4T7LtHigyBSYjrbjSLfn2EVPYGlPCMFEqNWCOkC6zg==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/length": "^6.5.0", + "@turf/line-slice-along": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/line-intersect": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/line-intersect/-/line-intersect-6.5.0.tgz", + "integrity": "sha512-CS6R1tZvVQD390G9Ea4pmpM6mJGPWoL82jD46y0q1KSor9s6HupMIo1kY4Ny+AEYQl9jd21V3Scz20eldpbTVA==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/line-segment": "^6.5.0", + "@turf/meta": "^6.5.0", + "geojson-rbush": "3.x" + } + }, + "@turf/line-offset": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/line-offset/-/line-offset-6.5.0.tgz", + "integrity": "sha512-CEXZbKgyz8r72qRvPchK0dxqsq8IQBdH275FE6o4MrBkzMcoZsfSjghtXzKaz9vvro+HfIXal0sTk2mqV1lQTw==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/line-overlap": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/line-overlap/-/line-overlap-6.5.0.tgz", + "integrity": "sha512-xHOaWLd0hkaC/1OLcStCpfq55lPHpPNadZySDXYiYjEz5HXr1oKmtMYpn0wGizsLwrOixRdEp+j7bL8dPt4ojQ==", + "requires": { + "@turf/boolean-point-on-line": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/line-segment": "^6.5.0", + "@turf/meta": "^6.5.0", + "@turf/nearest-point-on-line": "^6.5.0", + "deep-equal": "1.x", + "geojson-rbush": "3.x" + } + }, + "@turf/line-segment": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/line-segment/-/line-segment-6.5.0.tgz", + "integrity": "sha512-jI625Ho4jSuJESNq66Mmi290ZJ5pPZiQZruPVpmHkUw257Pew0alMmb6YrqYNnLUuiVVONxAAKXUVeeUGtycfw==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/line-slice": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/line-slice/-/line-slice-6.5.0.tgz", + "integrity": "sha512-vDqJxve9tBHhOaVVFXqVjF5qDzGtKWviyjbyi2QnSnxyFAmLlLnBfMX8TLQCAf2GxHibB95RO5FBE6I2KVPRuw==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/nearest-point-on-line": "^6.5.0" + } + }, + "@turf/line-slice-along": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/line-slice-along/-/line-slice-along-6.5.0.tgz", + "integrity": "sha512-KHJRU6KpHrAj+BTgTNqby6VCTnDzG6a1sJx/I3hNvqMBLvWVA2IrkR9L9DtsQsVY63IBwVdQDqiwCuZLDQh4Ng==", + "requires": { + "@turf/bearing": "^6.5.0", + "@turf/destination": "^6.5.0", + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0" + } + }, + "@turf/line-split": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/line-split/-/line-split-6.5.0.tgz", + "integrity": "sha512-/rwUMVr9OI2ccJjw7/6eTN53URtGThNSD5I0GgxyFXMtxWiloRJ9MTff8jBbtPWrRka/Sh2GkwucVRAEakx9Sw==", + "requires": { + "@turf/bbox": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/line-intersect": "^6.5.0", + "@turf/line-segment": "^6.5.0", + "@turf/meta": "^6.5.0", + "@turf/nearest-point-on-line": "^6.5.0", + "@turf/square": "^6.5.0", + "@turf/truncate": "^6.5.0", + "geojson-rbush": "3.x" + } + }, + "@turf/line-to-polygon": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/line-to-polygon/-/line-to-polygon-6.5.0.tgz", + "integrity": "sha512-qYBuRCJJL8Gx27OwCD1TMijM/9XjRgXH/m/TyuND4OXedBpIWlK5VbTIO2gJ8OCfznBBddpjiObLBrkuxTpN4Q==", + "requires": { + "@turf/bbox": "^6.5.0", + "@turf/clone": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/mask": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/mask/-/mask-6.5.0.tgz", + "integrity": "sha512-RQha4aU8LpBrmrkH8CPaaoAfk0Egj5OuXtv6HuCQnHeGNOQt3TQVibTA3Sh4iduq4EPxnZfDjgsOeKtrCA19lg==", + "requires": { + "@turf/helpers": "^6.5.0", + "polygon-clipping": "^0.15.3" + } + }, + "@turf/meta": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/meta/-/meta-6.5.0.tgz", + "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "requires": { + "@turf/helpers": "^6.5.0" + } + }, + "@turf/midpoint": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/midpoint/-/midpoint-6.5.0.tgz", + "integrity": "sha512-MyTzV44IwmVI6ec9fB2OgZ53JGNlgOpaYl9ArKoF49rXpL84F9rNATndbe0+MQIhdkw8IlzA6xVP4lZzfMNVCw==", + "requires": { + "@turf/bearing": "^6.5.0", + "@turf/destination": "^6.5.0", + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0" + } + }, + "@turf/moran-index": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/moran-index/-/moran-index-6.5.0.tgz", + "integrity": "sha512-ItsnhrU2XYtTtTudrM8so4afBCYWNaB0Mfy28NZwLjB5jWuAsvyV+YW+J88+neK/ougKMTawkmjQqodNJaBeLQ==", + "requires": { + "@turf/distance-weight": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/nearest-point": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/nearest-point/-/nearest-point-6.5.0.tgz", + "integrity": "sha512-fguV09QxilZv/p94s8SMsXILIAMiaXI5PATq9d7YWijLxWUj6Q/r43kxyoi78Zmwwh1Zfqz9w+bCYUAxZ5+euA==", + "requires": { + "@turf/clone": "^6.5.0", + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/nearest-point-on-line": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/nearest-point-on-line/-/nearest-point-on-line-6.5.0.tgz", + "integrity": "sha512-WthrvddddvmymnC+Vf7BrkHGbDOUu6Z3/6bFYUGv1kxw8tiZ6n83/VG6kHz4poHOfS0RaNflzXSkmCi64fLBlg==", + "requires": { + "@turf/bearing": "^6.5.0", + "@turf/destination": "^6.5.0", + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/line-intersect": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/nearest-point-to-line": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/nearest-point-to-line/-/nearest-point-to-line-6.5.0.tgz", + "integrity": "sha512-PXV7cN0BVzUZdjj6oeb/ESnzXSfWmEMrsfZSDRgqyZ9ytdiIj/eRsnOXLR13LkTdXVOJYDBuf7xt1mLhM4p6+Q==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0", + "@turf/point-to-line-distance": "^6.5.0", + "object-assign": "*" + } + }, + "@turf/planepoint": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/planepoint/-/planepoint-6.5.0.tgz", + "integrity": "sha512-R3AahA6DUvtFbka1kcJHqZ7DMHmPXDEQpbU5WaglNn7NaCQg9HB0XM0ZfqWcd5u92YXV+Gg8QhC8x5XojfcM4Q==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/point-grid": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/point-grid/-/point-grid-6.5.0.tgz", + "integrity": "sha512-Iq38lFokNNtQJnOj/RBKmyt6dlof0yhaHEDELaWHuECm1lIZLY3ZbVMwbs+nXkwTAHjKfS/OtMheUBkw+ee49w==", + "requires": { + "@turf/boolean-within": "^6.5.0", + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/point-on-feature": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/point-on-feature/-/point-on-feature-6.5.0.tgz", + "integrity": "sha512-bDpuIlvugJhfcF/0awAQ+QI6Om1Y1FFYE8Y/YdxGRongivix850dTeXCo0mDylFdWFPGDo7Mmh9Vo4VxNwW/TA==", + "requires": { + "@turf/boolean-point-in-polygon": "^6.5.0", + "@turf/center": "^6.5.0", + "@turf/explode": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/nearest-point": "^6.5.0" + } + }, + "@turf/point-to-line-distance": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/point-to-line-distance/-/point-to-line-distance-6.5.0.tgz", + "integrity": "sha512-opHVQ4vjUhNBly1bob6RWy+F+hsZDH9SA0UW36pIRzfpu27qipU18xup0XXEePfY6+wvhF6yL/WgCO2IbrLqEA==", + "requires": { + "@turf/bearing": "^6.5.0", + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0", + "@turf/projection": "^6.5.0", + "@turf/rhumb-bearing": "^6.5.0", + "@turf/rhumb-distance": "^6.5.0" + } + }, + "@turf/points-within-polygon": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/points-within-polygon/-/points-within-polygon-6.5.0.tgz", + "integrity": "sha512-YyuheKqjliDsBDt3Ho73QVZk1VXX1+zIA2gwWvuz8bR1HXOkcuwk/1J76HuFMOQI3WK78wyAi+xbkx268PkQzQ==", + "requires": { + "@turf/boolean-point-in-polygon": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/polygon-smooth": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/polygon-smooth/-/polygon-smooth-6.5.0.tgz", + "integrity": "sha512-LO/X/5hfh/Rk4EfkDBpLlVwt3i6IXdtQccDT9rMjXEP32tRgy0VMFmdkNaXoGlSSKf/1mGqLl4y4wHd86DqKbg==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/polygon-tangents": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/polygon-tangents/-/polygon-tangents-6.5.0.tgz", + "integrity": "sha512-sB4/IUqJMYRQH9jVBwqS/XDitkEfbyqRy+EH/cMRJURTg78eHunvJ708x5r6umXsbiUyQU4eqgPzEylWEQiunw==", + "requires": { + "@turf/bbox": "^6.5.0", + "@turf/boolean-within": "^6.5.0", + "@turf/explode": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/nearest-point": "^6.5.0" + } + }, + "@turf/polygon-to-line": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/polygon-to-line/-/polygon-to-line-6.5.0.tgz", + "integrity": "sha512-5p4n/ij97EIttAq+ewSnKt0ruvuM+LIDzuczSzuHTpq4oS7Oq8yqg5TQ4nzMVuK41r/tALCk7nAoBuw3Su4Gcw==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/polygonize": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/polygonize/-/polygonize-6.5.0.tgz", + "integrity": "sha512-a/3GzHRaCyzg7tVYHo43QUChCspa99oK4yPqooVIwTC61npFzdrmnywMv0S+WZjHZwK37BrFJGFrZGf6ocmY5w==", + "requires": { + "@turf/boolean-point-in-polygon": "^6.5.0", + "@turf/envelope": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/projection": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/projection/-/projection-6.5.0.tgz", + "integrity": "sha512-/Pgh9mDvQWWu8HRxqpM+tKz8OzgauV+DiOcr3FCjD6ubDnrrmMJlsf6fFJmggw93mtVPrZRL6yyi9aYCQBOIvg==", + "requires": { + "@turf/clone": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/random": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/random/-/random-6.5.0.tgz", + "integrity": "sha512-8Q25gQ/XbA7HJAe+eXp4UhcXM9aOOJFaxZ02+XSNwMvY8gtWSCBLVqRcW4OhqilgZ8PeuQDWgBxeo+BIqqFWFQ==", + "requires": { + "@turf/helpers": "^6.5.0" + } + }, + "@turf/rectangle-grid": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/rectangle-grid/-/rectangle-grid-6.5.0.tgz", + "integrity": "sha512-yQZ/1vbW68O2KsSB3OZYK+72aWz/Adnf7m2CMKcC+aq6TwjxZjAvlbCOsNUnMAuldRUVN1ph6RXMG4e9KEvKvg==", + "requires": { + "@turf/boolean-intersects": "^6.5.0", + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0" + } + }, + "@turf/rewind": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/rewind/-/rewind-6.5.0.tgz", + "integrity": "sha512-IoUAMcHWotBWYwSYuYypw/LlqZmO+wcBpn8ysrBNbazkFNkLf3btSDZMkKJO/bvOzl55imr/Xj4fi3DdsLsbzQ==", + "requires": { + "@turf/boolean-clockwise": "^6.5.0", + "@turf/clone": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/rhumb-bearing": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/rhumb-bearing/-/rhumb-bearing-6.5.0.tgz", + "integrity": "sha512-jMyqiMRK4hzREjQmnLXmkJ+VTNTx1ii8vuqRwJPcTlKbNWfjDz/5JqJlb5NaFDcdMpftWovkW5GevfnuzHnOYA==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/rhumb-destination": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/rhumb-destination/-/rhumb-destination-6.5.0.tgz", + "integrity": "sha512-RHNP1Oy+7xTTdRrTt375jOZeHceFbjwohPHlr9Hf68VdHHPMAWgAKqiX2YgSWDcvECVmiGaBKWus1Df+N7eE4Q==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/rhumb-distance": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/rhumb-distance/-/rhumb-distance-6.5.0.tgz", + "integrity": "sha512-oKp8KFE8E4huC2Z1a1KNcFwjVOqa99isxNOwfo4g3SUABQ6NezjKDDrnvC4yI5YZ3/huDjULLBvhed45xdCrzg==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@turf/sample": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/sample/-/sample-6.5.0.tgz", + "integrity": "sha512-kSdCwY7el15xQjnXYW520heKUrHwRvnzx8ka4eYxX9NFeOxaFITLW2G7UtXb6LJK8mmPXI8Aexv23F2ERqzGFg==", + "requires": { + "@turf/helpers": "^6.5.0" + } + }, + "@turf/sector": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/sector/-/sector-6.5.0.tgz", + "integrity": "sha512-cYUOkgCTWqa23SOJBqxoFAc/yGCUsPRdn/ovbRTn1zNTm/Spmk6hVB84LCKOgHqvSF25i0d2kWqpZDzLDdAPbw==", + "requires": { + "@turf/circle": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/line-arc": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/shortest-path": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/shortest-path/-/shortest-path-6.5.0.tgz", + "integrity": "sha512-4de5+G7+P4hgSoPwn+SO9QSi9HY5NEV/xRJ+cmoFVRwv2CDsuOPDheHKeuIAhKyeKDvPvPt04XYWbac4insJMg==", + "requires": { + "@turf/bbox": "^6.5.0", + "@turf/bbox-polygon": "^6.5.0", + "@turf/boolean-point-in-polygon": "^6.5.0", + "@turf/clean-coords": "^6.5.0", + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0", + "@turf/transform-scale": "^6.5.0" + } + }, + "@turf/simplify": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/simplify/-/simplify-6.5.0.tgz", + "integrity": "sha512-USas3QqffPHUY184dwQdP8qsvcVH/PWBYdXY5am7YTBACaQOMAlf6AKJs9FT8jiO6fQpxfgxuEtwmox+pBtlOg==", + "requires": { + "@turf/clean-coords": "^6.5.0", + "@turf/clone": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/square": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/square/-/square-6.5.0.tgz", + "integrity": "sha512-BM2UyWDmiuHCadVhHXKIx5CQQbNCpOxB6S/aCNOCLbhCeypKX5Q0Aosc5YcmCJgkwO5BERCC6Ee7NMbNB2vHmQ==", + "requires": { + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0" + } + }, + "@turf/square-grid": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/square-grid/-/square-grid-6.5.0.tgz", + "integrity": "sha512-mlR0ayUdA+L4c9h7p4k3pX6gPWHNGuZkt2c5II1TJRmhLkW2557d6b/Vjfd1z9OVaajb1HinIs1FMSAPXuuUrA==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/rectangle-grid": "^6.5.0" + } + }, + "@turf/standard-deviational-ellipse": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/standard-deviational-ellipse/-/standard-deviational-ellipse-6.5.0.tgz", + "integrity": "sha512-02CAlz8POvGPFK2BKK8uHGUk/LXb0MK459JVjKxLC2yJYieOBTqEbjP0qaWhiBhGzIxSMaqe8WxZ0KvqdnstHA==", + "requires": { + "@turf/center-mean": "^6.5.0", + "@turf/ellipse": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0", + "@turf/points-within-polygon": "^6.5.0" + } + }, + "@turf/tag": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/tag/-/tag-6.5.0.tgz", + "integrity": "sha512-XwlBvrOV38CQsrNfrxvBaAPBQgXMljeU0DV8ExOyGM7/hvuGHJw3y8kKnQ4lmEQcmcrycjDQhP7JqoRv8vFssg==", + "requires": { + "@turf/boolean-point-in-polygon": "^6.5.0", + "@turf/clone": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/tesselate": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/tesselate/-/tesselate-6.5.0.tgz", + "integrity": "sha512-M1HXuyZFCfEIIKkglh/r5L9H3c5QTEsnMBoZOFQiRnGPGmJWcaBissGb7mTFX2+DKE7FNWXh4TDnZlaLABB0dQ==", + "requires": { + "@turf/helpers": "^6.5.0", + "earcut": "^2.0.0" + } + }, + "@turf/tin": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/tin/-/tin-6.5.0.tgz", + "integrity": "sha512-YLYikRzKisfwj7+F+Tmyy/LE3d2H7D4kajajIfc9mlik2+esG7IolsX/+oUz1biguDYsG0DUA8kVYXDkobukfg==", + "requires": { + "@turf/helpers": "^6.5.0" + } + }, + "@turf/transform-rotate": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/transform-rotate/-/transform-rotate-6.5.0.tgz", + "integrity": "sha512-A2Ip1v4246ZmpssxpcL0hhiVBEf4L8lGnSPWTgSv5bWBEoya2fa/0SnFX9xJgP40rMP+ZzRaCN37vLHbv1Guag==", + "requires": { + "@turf/centroid": "^6.5.0", + "@turf/clone": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0", + "@turf/rhumb-bearing": "^6.5.0", + "@turf/rhumb-destination": "^6.5.0", + "@turf/rhumb-distance": "^6.5.0" + } + }, + "@turf/transform-scale": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/transform-scale/-/transform-scale-6.5.0.tgz", + "integrity": "sha512-VsATGXC9rYM8qTjbQJ/P7BswKWXHdnSJ35JlV4OsZyHBMxJQHftvmZJsFbOqVtQnIQIzf2OAly6rfzVV9QLr7g==", + "requires": { + "@turf/bbox": "^6.5.0", + "@turf/center": "^6.5.0", + "@turf/centroid": "^6.5.0", + "@turf/clone": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0", + "@turf/rhumb-bearing": "^6.5.0", + "@turf/rhumb-destination": "^6.5.0", + "@turf/rhumb-distance": "^6.5.0" + } + }, + "@turf/transform-translate": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/transform-translate/-/transform-translate-6.5.0.tgz", + "integrity": "sha512-NABLw5VdtJt/9vSstChp93pc6oel4qXEos56RBMsPlYB8hzNTEKYtC146XJvyF4twJeeYS8RVe1u7KhoFwEM5w==", + "requires": { + "@turf/clone": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/meta": "^6.5.0", + "@turf/rhumb-destination": "^6.5.0" + } + }, + "@turf/triangle-grid": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/triangle-grid/-/triangle-grid-6.5.0.tgz", + "integrity": "sha512-2jToUSAS1R1htq4TyLQYPTIsoy6wg3e3BQXjm2rANzw4wPQCXGOxrur1Fy9RtzwqwljlC7DF4tg0OnWr8RjmfA==", + "requires": { + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/intersect": "^6.5.0" + } + }, + "@turf/truncate": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/truncate/-/truncate-6.5.0.tgz", + "integrity": "sha512-pFxg71pLk+eJj134Z9yUoRhIi8vqnnKvCYwdT4x/DQl/19RVdq1tV3yqOT3gcTQNfniteylL5qV1uTBDV5sgrg==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0" + } + }, + "@turf/turf": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/turf/-/turf-6.5.0.tgz", + "integrity": "sha512-ipMCPnhu59bh92MNt8+pr1VZQhHVuTMHklciQURo54heoxRzt1neNYZOBR6jdL+hNsbDGAECMuIpAutX+a3Y+w==", + "requires": { + "@turf/along": "^6.5.0", + "@turf/angle": "^6.5.0", + "@turf/area": "^6.5.0", + "@turf/bbox": "^6.5.0", + "@turf/bbox-clip": "^6.5.0", + "@turf/bbox-polygon": "^6.5.0", + "@turf/bearing": "^6.5.0", + "@turf/bezier-spline": "^6.5.0", + "@turf/boolean-clockwise": "^6.5.0", + "@turf/boolean-contains": "^6.5.0", + "@turf/boolean-crosses": "^6.5.0", + "@turf/boolean-disjoint": "^6.5.0", + "@turf/boolean-equal": "^6.5.0", + "@turf/boolean-intersects": "^6.5.0", + "@turf/boolean-overlap": "^6.5.0", + "@turf/boolean-parallel": "^6.5.0", + "@turf/boolean-point-in-polygon": "^6.5.0", + "@turf/boolean-point-on-line": "^6.5.0", + "@turf/boolean-within": "^6.5.0", + "@turf/buffer": "^6.5.0", + "@turf/center": "^6.5.0", + "@turf/center-mean": "^6.5.0", + "@turf/center-median": "^6.5.0", + "@turf/center-of-mass": "^6.5.0", + "@turf/centroid": "^6.5.0", + "@turf/circle": "^6.5.0", + "@turf/clean-coords": "^6.5.0", + "@turf/clone": "^6.5.0", + "@turf/clusters": "^6.5.0", + "@turf/clusters-dbscan": "^6.5.0", + "@turf/clusters-kmeans": "^6.5.0", + "@turf/collect": "^6.5.0", + "@turf/combine": "^6.5.0", + "@turf/concave": "^6.5.0", + "@turf/convex": "^6.5.0", + "@turf/destination": "^6.5.0", + "@turf/difference": "^6.5.0", + "@turf/dissolve": "^6.5.0", + "@turf/distance": "^6.5.0", + "@turf/distance-weight": "^6.5.0", + "@turf/ellipse": "^6.5.0", + "@turf/envelope": "^6.5.0", + "@turf/explode": "^6.5.0", + "@turf/flatten": "^6.5.0", + "@turf/flip": "^6.5.0", + "@turf/great-circle": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/hex-grid": "^6.5.0", + "@turf/interpolate": "^6.5.0", + "@turf/intersect": "^6.5.0", + "@turf/invariant": "^6.5.0", + "@turf/isobands": "^6.5.0", + "@turf/isolines": "^6.5.0", + "@turf/kinks": "^6.5.0", + "@turf/length": "^6.5.0", + "@turf/line-arc": "^6.5.0", + "@turf/line-chunk": "^6.5.0", + "@turf/line-intersect": "^6.5.0", + "@turf/line-offset": "^6.5.0", + "@turf/line-overlap": "^6.5.0", + "@turf/line-segment": "^6.5.0", + "@turf/line-slice": "^6.5.0", + "@turf/line-slice-along": "^6.5.0", + "@turf/line-split": "^6.5.0", + "@turf/line-to-polygon": "^6.5.0", + "@turf/mask": "^6.5.0", + "@turf/meta": "^6.5.0", + "@turf/midpoint": "^6.5.0", + "@turf/moran-index": "^6.5.0", + "@turf/nearest-point": "^6.5.0", + "@turf/nearest-point-on-line": "^6.5.0", + "@turf/nearest-point-to-line": "^6.5.0", + "@turf/planepoint": "^6.5.0", + "@turf/point-grid": "^6.5.0", + "@turf/point-on-feature": "^6.5.0", + "@turf/point-to-line-distance": "^6.5.0", + "@turf/points-within-polygon": "^6.5.0", + "@turf/polygon-smooth": "^6.5.0", + "@turf/polygon-tangents": "^6.5.0", + "@turf/polygon-to-line": "^6.5.0", + "@turf/polygonize": "^6.5.0", + "@turf/projection": "^6.5.0", + "@turf/random": "^6.5.0", + "@turf/rewind": "^6.5.0", + "@turf/rhumb-bearing": "^6.5.0", + "@turf/rhumb-destination": "^6.5.0", + "@turf/rhumb-distance": "^6.5.0", + "@turf/sample": "^6.5.0", + "@turf/sector": "^6.5.0", + "@turf/shortest-path": "^6.5.0", + "@turf/simplify": "^6.5.0", + "@turf/square": "^6.5.0", + "@turf/square-grid": "^6.5.0", + "@turf/standard-deviational-ellipse": "^6.5.0", + "@turf/tag": "^6.5.0", + "@turf/tesselate": "^6.5.0", + "@turf/tin": "^6.5.0", + "@turf/transform-rotate": "^6.5.0", + "@turf/transform-scale": "^6.5.0", + "@turf/transform-translate": "^6.5.0", + "@turf/triangle-grid": "^6.5.0", + "@turf/truncate": "^6.5.0", + "@turf/union": "^6.5.0", + "@turf/unkink-polygon": "^6.5.0", + "@turf/voronoi": "^6.5.0" + } + }, + "@turf/union": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/union/-/union-6.5.0.tgz", + "integrity": "sha512-igYWCwP/f0RFHIlC2c0SKDuM/ObBaqSljI3IdV/x71805QbIvY/BYGcJdyNcgEA6cylIGl/0VSlIbpJHZ9ldhw==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "polygon-clipping": "^0.15.3" + } + }, + "@turf/unkink-polygon": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/unkink-polygon/-/unkink-polygon-6.5.0.tgz", + "integrity": "sha512-8QswkzC0UqKmN1DT6HpA9upfa1HdAA5n6bbuzHy8NJOX8oVizVAqfEPY0wqqTgboDjmBR4yyImsdPGUl3gZ8JQ==", + "requires": { + "@turf/area": "^6.5.0", + "@turf/boolean-point-in-polygon": "^6.5.0", + "@turf/helpers": "^6.5.0", + "@turf/meta": "^6.5.0", + "rbush": "^2.0.1" + }, + "dependencies": { + "quickselect": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/quickselect/-/quickselect-1.1.1.tgz", + "integrity": "sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ==" + }, + "rbush": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/rbush/-/rbush-2.0.2.tgz", + "integrity": "sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA==", + "requires": { + "quickselect": "^1.0.1" + } + } + } + }, + "@turf/voronoi": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@turf/voronoi/-/voronoi-6.5.0.tgz", + "integrity": "sha512-C/xUsywYX+7h1UyNqnydHXiun4UPjK88VDghtoRypR9cLlb7qozkiLRphQxxsCM0KxyxpVPHBVQXdAL3+Yurow==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0", + "d3-voronoi": "1.1.2" + } + }, + "@types/geojson": { + "version": "7946.0.8", + "resolved": "https://registry.npmmirror.com/@types/geojson/-/geojson-7946.0.8.tgz", + "integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==" + }, "@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", @@ -1775,7 +3053,6 @@ "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.0.tgz?cache=0&sync_timestamp=1604117087261&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcall-bind%2Fdownload%2Fcall-bind-1.0.0.tgz", "integrity": "sha1-JBJwVLs/m9y0sfuCQYGGBy93uM4=", - "dev": true, "requires": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.0" @@ -2134,8 +3411,7 @@ "commander": { "version": "2.17.1", "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1607931342826&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz", - "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=", - "dev": true + "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=" }, "commondir": { "version": "1.0.1", @@ -2196,6 +3472,17 @@ "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" + } + }, + "concaveman": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/concaveman/-/concaveman-1.2.1.tgz", + "integrity": "sha512-PwZYKaM/ckQSa8peP5JpVr7IMJ4Nn/MHIaWUjP4be+KoZ7Botgs8seAZGpmaOM+UZXawcdYRao/px9ycrCihHw==", + "requires": { + "point-in-polygon": "^1.1.0", + "rbush": "^3.0.1", + "robust-predicates": "^2.0.4", + "tinyqueue": "^2.0.3" } }, "connect-history-api-fallback": { @@ -3397,6 +4684,24 @@ "type": "^1.0.1" } }, + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" + }, + "d3-geo": { + "version": "1.7.1", + "resolved": "https://registry.npmmirror.com/d3-geo/-/d3-geo-1.7.1.tgz", + "integrity": "sha512-O4AempWAr+P5qbk2bC2FuN/sDW4z+dN2wDf9QV3bxQt4M5HfOEeXLgJ/UKQW0+o1Dj8BE+L5kiDbdWUMjsmQpw==", + "requires": { + "d3-array": "1" + } + }, + "d3-voronoi": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/d3-voronoi/-/d3-voronoi-1.1.2.tgz", + "integrity": "sha512-RhGS1u2vavcO7ay7ZNAPo4xeDh/VYeGof3x5ZLJBQgYhLegxr3s5IykvWmJ94FTU6mcbtp4sloqZ54mP6R4Utw==" + }, "de-indent": { "version": "1.0.2", "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz", @@ -3436,7 +4741,6 @@ "version": "1.1.1", "resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz?cache=0&sync_timestamp=1606860754950&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeep-equal%2Fdownload%2Fdeep-equal-1.1.1.tgz", "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=", - "dev": true, "requires": { "is-arguments": "^1.0.4", "is-date-object": "^1.0.1", @@ -3455,7 +4759,6 @@ "version": "1.1.3", "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", - "dev": true, "requires": { "object-keys": "^1.0.12" } @@ -3554,6 +4857,11 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, + "density-clustering": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/density-clustering/-/density-clustering-1.3.0.tgz", + "integrity": "sha512-icpmBubVTwLnsaor9qH/4tG5+7+f61VcqMN3V3pm9sxxSCt2Jcs0zWOgwZW9ARJYaKD3FumIgHiMOcIMRRAzFQ==" }, "depd": { "version": "1.1.2", @@ -3928,7 +5236,6 @@ "version": "1.2.1", "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz", "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", - "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -4638,6 +5945,26 @@ "globule": "^1.0.0" } }, + "geojson-equality": { + "version": "0.1.6", + "resolved": "https://registry.npmmirror.com/geojson-equality/-/geojson-equality-0.1.6.tgz", + "integrity": "sha512-TqG8YbqizP3EfwP5Uw4aLu6pKkg6JQK9uq/XZ1lXQntvTHD1BBKJWhNpJ2M0ax6TuWMP3oyx6Oq7FCIfznrgpQ==", + "requires": { + "deep-equal": "^1.0.0" + } + }, + "geojson-rbush": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/geojson-rbush/-/geojson-rbush-3.2.0.tgz", + "integrity": "sha512-oVltQTXolxvsz1sZnutlSuLDEcQAKYC/uXt9zDzJJ6bu0W+baTI8LZBaTup5afzibEH4N3jlq2p+a152wlBJ7w==", + "requires": { + "@turf/bbox": "*", + "@turf/helpers": "6.x", + "@turf/meta": "6.x", + "@types/geojson": "7946.0.8", + "rbush": "^3.0.1" + } + }, "geotiff": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/geotiff/-/geotiff-2.0.7.tgz", @@ -4674,7 +6001,6 @@ "version": "1.0.2", "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.0.2.tgz?cache=0&sync_timestamp=1608274324399&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-intrinsic%2Fdownload%2Fget-intrinsic-1.0.2.tgz", "integrity": "sha1-aCDaIm5QskiU4IhZRp3Gg2FUXUk=", - "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -4808,8 +6134,7 @@ "has-symbols": { "version": "1.0.1", "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz", - "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=", - "dev": true + "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=" }, "has-unicode": { "version": "2.0.1", @@ -5387,7 +6712,6 @@ "version": "1.1.0", "resolved": "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.1.0.tgz", "integrity": "sha1-YjUwMd++4HzrNGVqa95Z7+yujdk=", - "dev": true, "requires": { "call-bind": "^1.0.0" } @@ -5416,8 +6740,7 @@ "is-callable": { "version": "1.2.2", "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.2.tgz", - "integrity": "sha1-x8ZxXNItTdtI0+GZcCI6zquwgNk=", - "dev": true + "integrity": "sha1-x8ZxXNItTdtI0+GZcCI6zquwgNk=" }, "is-color-stop": { "version": "1.1.0", @@ -5453,8 +6776,7 @@ "is-date-object": { "version": "1.0.2", "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz", - "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=", - "dev": true + "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=" }, "is-descriptor": { "version": "0.1.6", @@ -5579,7 +6901,6 @@ "version": "1.1.1", "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.1.tgz?cache=0&sync_timestamp=1596555709354&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regex%2Fdownload%2Fis-regex-1.1.1.tgz", "integrity": "sha1-xvmKrMVG9s7FRooHt7FTq1ZKV7k=", - "dev": true, "requires": { "has-symbols": "^1.0.1" } @@ -5615,7 +6936,6 @@ "version": "1.0.3", "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz", "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", - "dev": true, "requires": { "has-symbols": "^1.0.1" } @@ -7499,8 +8819,7 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-copy": { "version": "0.1.0", @@ -7527,14 +8846,12 @@ "object-inspect": { "version": "1.9.0", "resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.9.0.tgz?cache=0&sync_timestamp=1606804265193&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.9.0.tgz", - "integrity": "sha1-yQUh104RJ7ZyZt7TOUrWEWmGUzo=", - "dev": true + "integrity": "sha1-yQUh104RJ7ZyZt7TOUrWEWmGUzo=" }, "object-is": { "version": "1.1.4", "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.4.tgz?cache=0&sync_timestamp=1606460471250&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.4.tgz", "integrity": "sha1-Y9bIPACkP0y8lDTrl1fIpbhWUGg=", - "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3" @@ -7543,8 +8860,7 @@ "object-keys": { "version": "1.1.1", "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", - "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", - "dev": true + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=" }, "object-visit": { "version": "1.0.1", @@ -7559,7 +8875,6 @@ "version": "4.1.2", "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604115104654&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.1.2.tgz", "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", - "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -7988,6 +9303,27 @@ "dev": true, "requires": { "find-up": "^2.1.0" + } + }, + "point-in-polygon": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/point-in-polygon/-/point-in-polygon-1.1.0.tgz", + "integrity": "sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==" + }, + "polygon-clipping": { + "version": "0.15.7", + "resolved": "https://registry.npmmirror.com/polygon-clipping/-/polygon-clipping-0.15.7.tgz", + "integrity": "sha512-nhfdr83ECBg6xtqOAJab1tbksbBAOMUltN60bU+llHVOL0e5Onm1WpAXXWXVB39L8AJFssoIhEVuy/S90MmotA==", + "requires": { + "robust-predicates": "^3.0.2", + "splaytree": "^3.1.0" + }, + "dependencies": { + "robust-predicates": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" + } } }, "portfinder": { @@ -10678,7 +12014,6 @@ "version": "1.3.0", "resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.0.tgz", "integrity": "sha1-erqJs8E6ZFCdq888qNn7ub31y3U=", - "dev": true, "requires": { "define-properties": "^1.1.3", "es-abstract": "^1.17.0-next.1" @@ -10688,7 +12023,6 @@ "version": "1.17.7", "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.7.tgz?cache=0&sync_timestamp=1601503225168&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.17.7.tgz", "integrity": "sha1-pN5hsvZpifx0IWdsHLl4dXOs5Uw=", - "dev": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", @@ -10911,6 +12245,11 @@ "hash-base": "^3.0.0", "inherits": "^2.0.1" } + }, + "robust-predicates": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/robust-predicates/-/robust-predicates-2.0.4.tgz", + "integrity": "sha512-l4NwboJM74Ilm4VKfbAtFeGq7aEjWL+5kVFcmgFA2MrdnQWx9iE/tUGvxY5HyMI7o/WpSIUFLbC5fbeaHgSCYg==" }, "run-queue": { "version": "1.0.3", @@ -11340,6 +12679,11 @@ } } }, + "skmeans": { + "version": "0.9.7", + "resolved": "https://registry.npmmirror.com/skmeans/-/skmeans-0.9.7.tgz", + "integrity": "sha512-hNj1/oZ7ygsfmPZ7ZfN5MUBRoGg1gtpnImuJBgLO0ljQ67DtJuiQaiYdS4lUA6s0KCwnPhGivtC/WRwIZLkHyg==" + }, "slash": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz", @@ -11711,6 +13055,11 @@ } } }, + "splaytree": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/splaytree/-/splaytree-3.1.2.tgz", + "integrity": "sha512-4OM2BJgC5UzrhVnnJA4BkHKGtjXNzzUfpQjCO8I05xYPsfS/VuQDwjCGGMi8rYQilHEV4j8NBqTFbls/PZEE7A==" + }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz", @@ -11855,7 +13204,6 @@ "version": "1.0.3", "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.3.tgz?cache=0&sync_timestamp=1606008054045&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.3.tgz", "integrity": "sha1-oivVPMpcfPRNfJ1ccyEYhz1s0Ys=", - "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3" @@ -11865,7 +13213,6 @@ "version": "1.0.3", "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.3.tgz?cache=0&sync_timestamp=1606008053958&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.3.tgz", "integrity": "sha1-m0y1kOEjuzZWRAHVmCQpjeUP1ao=", - "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3" @@ -12140,6 +13487,11 @@ "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", "dev": true }, + "tinyqueue": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/tinyqueue/-/tinyqueue-2.0.3.tgz", + "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==" + }, "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", @@ -12189,6 +13541,22 @@ "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=", "dev": true }, + "topojson-client": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/topojson-client/-/topojson-client-3.1.0.tgz", + "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", + "requires": { + "commander": "2" + } + }, + "topojson-server": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/topojson-server/-/topojson-server-3.0.1.tgz", + "integrity": "sha512-/VS9j/ffKr2XAOjlZ9CgyyeLmgJ9dMwq6Y0YEON8O7p/tGGk+dCWnrE03zEdu7i4L7YsFZLEPZPzCvcB7lEEXw==", + "requires": { + "commander": "2" + } + }, "toposort": { "version": "1.0.7", "resolved": "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz", @@ -12230,6 +13598,11 @@ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", "dev": true }, + "turf-jsts": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/turf-jsts/-/turf-jsts-1.2.3.tgz", + "integrity": "sha512-Ja03QIJlPuHt4IQ2FfGex4F4JAr8m3jpaHbFbQrgwr7s7L6U8ocrHiF3J1+wf9jzhGKxvDeaCAnGDot8OjGFyA==" + }, "type": { "version": "1.2.0", "resolved": "https://registry.npm.taobao.org/type/download/type-1.2.0.tgz", diff --git a/package.json b/package.json index a3d9508..6c3702a 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "build": "node build/build.js" }, "dependencies": { + "@turf/turf": "^6.5.0", "animate.css": "^4.1.1", "axios": "^0.21.1", "echarts": "^5.4.2", diff --git a/src/api/api.js b/src/api/api.js index cc6561a..d106ac5 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -23,7 +23,7 @@ return service.put('system/user/profile/updatePwd', params); } -export function Op_SelectByPage(params){ +export function Op_SelectByPage(params) { //璇锋眰鍦板潃 return service.get("/Op/SelectByPage", { params: params }); } @@ -31,10 +31,14 @@ //璇锋眰鍦板潃 return service.post("/Op/Insert", params); } -export function Op_UpdateById(params){ +export function Op_UpdateById(params) { //璇锋眰鍦板潃 return service.post("/Op/UpdateById", params); } +export function kuanDeng_mp_getMpByLocation(params) { + return service.get("https://apis.kuandeng.net/v1/search/mp/getMpByLocation?locations=" + params.lon + "," + params.lat + "&dataVersion=JSJK_210000"); +} + //浜姙鐧诲綍 diff --git "a/src/assets/img/model/\345\267\245\344\272\272.png" "b/src/assets/img/model/\345\267\245\344\272\272.png" new file mode 100644 index 0000000..d8ab16c --- /dev/null +++ "b/src/assets/img/model/\345\267\245\344\272\272.png" Binary files differ diff --git "a/src/assets/img/model/\346\226\275\345\267\245\350\275\246\350\276\206.png" "b/src/assets/img/model/\346\226\275\345\267\245\350\275\246\350\276\206.png" new file mode 100644 index 0000000..028002d --- /dev/null +++ "b/src/assets/img/model/\346\226\275\345\267\245\350\275\246\350\276\206.png" Binary files differ diff --git "a/src/assets/img/model/\346\241\266.png" "b/src/assets/img/model/\346\241\266.png" new file mode 100644 index 0000000..ed797a5 --- /dev/null +++ "b/src/assets/img/model/\346\241\266.png" Binary files differ diff --git "a/src/assets/img/model/\350\267\257\351\232\234.png" "b/src/assets/img/model/\350\267\257\351\232\234.png" new file mode 100644 index 0000000..0ecc013 --- /dev/null +++ "b/src/assets/img/model/\350\267\257\351\232\234.png" Binary files differ diff --git "a/src/assets/img/model/\351\224\245\346\241\266.png" "b/src/assets/img/model/\351\224\245\346\241\266.png" new file mode 100644 index 0000000..caef20c --- /dev/null +++ "b/src/assets/img/model/\351\224\245\346\241\266.png" Binary files differ diff --git a/src/assets/js/Layer/mapGeo.js b/src/assets/js/Layer/mapGeo.js new file mode 100644 index 0000000..d96c835 --- /dev/null +++ b/src/assets/js/Layer/mapGeo.js @@ -0,0 +1,180 @@ +var source = [] +const mapGeo = { + + init(res) { + switch (res.type) { + case "WangGe": + this.addWangGeGeoJson(res); + break; + case "ZhuangHao": + this.addZhuangHaoGeoJson(res) + break; + case "PingQuXian": + this.addPingQuXianGeoJson(res) + break; + case "ZhongQuXian": + this.addZhongQuXianGeoJson(res) + break; + case "zhaiHai": + this.addzhaiHaiGeoJson(res) + + break; + } + }, + delGeoSource(res) { + if (res.type == "zhaiHai") { + Viewer.dataSources.remove(Viewer.dataSources.getByName("zhaiHai2")[0]) + Viewer.dataSources.remove(Viewer.dataSources.getByName("zhaiHai1")[0]) + Viewer.dataSources.remove(Viewer.dataSources.getByName("zhaiHai3")[0]) + } else { + Viewer.dataSources.remove(Viewer.dataSources.getByName(res.type)[0]) + } + + }, + + addzhaiHaiGeoJson(res) { + var url1 = layerData.config.Model_URL + res.urls[0]; + var url2 = layerData.config.Model_URL + res.urls[1]; + var url3 = layerData.config.Model_URL + res.urls[2]; + var color = Cesium.Color.fromCssColorString("rgb(255,0,255)") + var data1 = Cesium.GeoJsonDataSource.load(url1, //瑕佸姞杞界殑 url銆丟eoJSON 瀵硅薄鎴� TopoJSON 瀵硅薄銆� + { + stroke: color, //鎶樼嚎鍜屽杈瑰舰杞粨鐨勯粯璁ら鑹层�� + fill: Cesium.Color.WHITE.withAlpha(0.2), //澶氳竟褰㈠唴閮ㄧ殑榛樿棰滆壊銆� + strokeWidth: 3, //鎶樼嚎鍜屽杈瑰舰杞粨鐨勯粯璁ゅ搴︺�� + } + ) + data1.then((dataSource) => { + dataSource.name = "zhaiHai1" + Viewer.dataSources.add( + dataSource + ); + }) + + var data2 = Cesium.GeoJsonDataSource.load(url2, //瑕佸姞杞界殑 url銆丟eoJSON 瀵硅薄鎴� TopoJSON 瀵硅薄銆� + { + stroke: color, //鎶樼嚎鍜屽杈瑰舰杞粨鐨勯粯璁ら鑹层�� + fill: Cesium.Color.WHITE.withAlpha(0.2), //澶氳竟褰㈠唴閮ㄧ殑榛樿棰滆壊銆� + strokeWidth: 3, //鎶樼嚎鍜屽杈瑰舰杞粨鐨勯粯璁ゅ搴︺�� + } + ) + data2.then((dataSource) => { + dataSource.name = "zhaiHai2" + Viewer.dataSources.add( + dataSource + ); + }) + var data3 = Cesium.GeoJsonDataSource.load(url3, //瑕佸姞杞界殑 url銆丟eoJSON 瀵硅薄鎴� TopoJSON 瀵硅薄銆� + { + stroke: color, //鎶樼嚎鍜屽杈瑰舰杞粨鐨勯粯璁ら鑹层�� + fill: Cesium.Color.WHITE.withAlpha(0.2), //澶氳竟褰㈠唴閮ㄧ殑榛樿棰滆壊銆� + strokeWidth: 3, //鎶樼嚎鍜屽杈瑰舰杞粨鐨勯粯璁ゅ搴︺�� + } + ) + data3.then((dataSource) => { + dataSource.name = "zhaiHai3" + Viewer.dataSources.add( + dataSource + ); + }) + }, + + addZhongQuXianGeoJson(res) { + var url = layerData.config.Model_URL + res.urls; + var data = Cesium.GeoJsonDataSource.load(url, //瑕佸姞杞界殑 url銆丟eoJSON 瀵硅薄鎴� TopoJSON 瀵硅薄銆� + { + stroke: Cesium.Color.ORANGE, //鎶樼嚎鍜屽杈瑰舰杞粨鐨勯粯璁ら鑹层�� + fill: Cesium.Color.WHITE.withAlpha(0.2), //澶氳竟褰㈠唴閮ㄧ殑榛樿棰滆壊銆� + strokeWidth: 3, //鎶樼嚎鍜屽杈瑰舰杞粨鐨勯粯璁ゅ搴︺�� + } + ) + data.then((dataSource) => { + dataSource.name = res.type + Viewer.dataSources.add( + dataSource + ); + }) + }, + addPingQuXianGeoJson(res) { + var url = layerData.config.Model_URL + res.urls; + var data = Cesium.GeoJsonDataSource.load(url, //瑕佸姞杞界殑 url銆丟eoJSON 瀵硅薄鎴� TopoJSON 瀵硅薄銆� + { + stroke: Cesium.Color.SKYBLUE, //鎶樼嚎鍜屽杈瑰舰杞粨鐨勯粯璁ら鑹层�� + fill: Cesium.Color.WHITE.withAlpha(0.2), //澶氳竟褰㈠唴閮ㄧ殑榛樿棰滆壊銆� + strokeWidth: 3, //鎶樼嚎鍜屽杈瑰舰杞粨鐨勯粯璁ゅ搴︺�� + } + ) + data.then((dataSource) => { + dataSource.name = res.type + Viewer.dataSources.add( + dataSource + ); + }) + }, + addWangGeGeoJson(res) { + var url = layerData.config.Model_URL + res.urls; + var data = Cesium.GeoJsonDataSource.load(url, //瑕佸姞杞界殑 url銆丟eoJSON 瀵硅薄鎴� TopoJSON 瀵硅薄銆� + { + stroke: Cesium.Color.RED, //鎶樼嚎鍜屽杈瑰舰杞粨鐨勯粯璁ら鑹层�� + fill: Cesium.Color.WHITE.withAlpha(0.2), //澶氳竟褰㈠唴閮ㄧ殑榛樿棰滆壊銆� + strokeWidth: 3, //鎶樼嚎鍜屽杈瑰舰杞粨鐨勯粯璁ゅ搴︺�� + } + ) + data.then((dataSource) => { + dataSource.name = res.type + Viewer.dataSources.add( + dataSource + ); + }) + }, + addZhuangHaoGeoJson(res) { + + var url = layerData.config.Model_URL + res.urls; + var img = layerData.config.Model_URL + '/Data/img/img1.png'; + var source1 = Cesium.GeoJsonDataSource.load(url) + source1.then((dataSource) => { + dataSource.name = res.type + Viewer.dataSources.add( + dataSource + ); + const entities = dataSource.entities.values; + // 璁剧疆鑱氬悎鍙傛暟 + dataSource.clustering.enabled = true; + dataSource.clustering.pixelRange = 20; + dataSource.clustering.minimumClusterSize = 2; + + for (var i = 0; i < entities.length; i++) { + const entity = entities[i]; + entity.billboard = { + image: img, + color: Cesium.Color.AQUA, + width: 32, + height: 32, + pixelOffset: new Cesium.Cartesian3(0, -40, 0), + }; + entity.label = { + text: entity.name, + font: '14px', + pixelOffset: new Cesium.Cartesian3(0, -80, 0), + fillColor: Cesium.Color.BLIUE, + }; + + } + // 娣诲姞鐩戝惉鍑芥暟 + dataSource.clustering.clusterEvent.addEventListener( + function (clusteredEntities, cluster) { + // 鍏抽棴鑷甫鐨勬樉绀鸿仛鍚堟暟閲忕殑鏍囩 + cluster.label.show = false; + cluster.billboard.show = false; + cluster.billboard.verticalOrigin = Cesium.VerticalOrigin.BOTTOM; + } + ) + + + + }) + + + }, +} +export default mapGeo; \ No newline at end of file diff --git a/src/assets/js/Layer/mapInfo.js b/src/assets/js/Layer/mapInfo.js new file mode 100644 index 0000000..c0ad663 --- /dev/null +++ b/src/assets/js/Layer/mapInfo.js @@ -0,0 +1,78 @@ +import store from "../../../store"; +const mapInfo = { + listArr: [ + '妗╁彿_Point', + ], + mssageInfo: null, + Init(html) { + + if (!html) return; + var xmlDoc = this.getXMLNode(html) + if (xmlDoc.length == 0) return + this.showMapInfo(xmlDoc); + + }, + setRestLayer() { + store.state.showZhaiHaiImg = null; + store.state.isshowZhaiHai = false; + store.state.showMessageInfo = false; + this.mssageInfo = null + }, + setGeoJsonInfo(res) { + if (res.projectId && res.frameNo) { + this.setRestLayer(); + + store.state.showZhaiHaiImg = res; + store.state.isshowZhaiHai = true; + } else { + var val_name = res._propertyNames; + var val = []; + for (var i = 0; i < val_name.length; i++) { + var obj = { + name: val_name[i], + value: res[val_name[i]]._value, + } + val.push(obj) + } + if (val.length == 0) return + this.showMapInfo(val); + } + }, + showMapInfo(res) { + this.setRestLayer(); + setTimeout(() => { + this.mssageInfo = res; + store.state.showMessageInfo = true; + }, 100); + }, + getXMLNode(html) { + let str = html; + //鍒涘缓鏂囨。瀵硅薄 + let xmlDoc = new DOMParser().parseFromString(str, "text/xml"); + let finds = xmlDoc.getElementsByTagName('Featureinfo'); + var val = []//鑾峰彇find鑺傜偣 + for (let i = 0; i < finds.length; i++) { //寰幆鑺傜偣 + let finder = finds[i]; + this.getfun(finder, val); + } + return val + }, + getfun(res, val) { + var child = res.childNodes; + for (var i = 0; i < child.length; i++) { + var node = child[i].childNodes; + if (node.length > 1) { + this.getfun(child[i], val) + } else { + val.push({ + name: child[i].nodeName, + value: child[i].childNodes[0].nodeValue + }) + } + + } + return val; + } + +} +export default mapInfo; \ No newline at end of file diff --git a/src/assets/js/Layer/mapOL.js b/src/assets/js/Layer/mapOL.js new file mode 100644 index 0000000..4080aed --- /dev/null +++ b/src/assets/js/Layer/mapOL.js @@ -0,0 +1,217 @@ + + +import VectorLayer from "ol/layer/Vector"; +import VectorSource from "ol/source/Vector"; +import Feature from "ol/Feature"; +import Point from "ol/geom/Point"; +import LineString from "ol/geom/LineString"; +import {fromExtent } from "ol/geom/Polygon"; +import { Polygon} from "ol/geom"; +import { fromLonLat } from "ol/proj"; +import { Circle, Fill, Icon, Stroke, Style, Text } from 'ol/style.js'; + +const mapOL = { + removeLayerData(res){ + var layers = window.map.getAllLayers(); + for(var i=0;i<layers.length;i++){ + if(res.id === layers[i].values_.id){ + window.map.removeLayer(layers[i]) + } + } + }, + addLayerData(res) { + var type = res.style.type; + if (!type) return + this.removeLayerData(res) + switch (type) { + case 'label': + this.addLabellayer(res); + break; + case 'billboard': + this.addBillboardlayer(res); + break; + case 'polyline': + this.addPolylinelayer(res); + break; + case 'rectangle': + this.addRectanglelayer(res); + break; + case 'polygon': + this.addPolygonlayer(res); + break; + } + }, + CesiumTo84(x, y, z) { + var ellipsoid = Viewer.scene.globe.ellipsoid; + + var cartographic = ellipsoid.cartesianToCartographic({ x: x, y: y, z: z }); + var lat = Cesium.Math.toDegrees(cartographic.latitude); + var lng = Cesium.Math.toDegrees(cartographic.longitude); + var alt = cartographic.height; + return [lng, lat, alt ] + }, + addLabellayer(res) { + var style = res.style; + var val = this.CesiumTo84(style.position.x, style.position.y, style.position.z) + const labelFeature = new Feature({ + geometry: new Point([val[0], val[1]]), + }); + const labelStyle = new Style({ + text: new Text({ + text: style.text, + font: style.font, + fill: new Fill({ + color: style.fillColor, + }), + stroke: new Stroke({ + color: style.outlineColor, + width: style.outlineWidth, + }), + }), + }); + labelFeature.setStyle([labelStyle]) + const vectorSource = new VectorSource({ + features: [labelFeature], + }); + var vectorLayer = new VectorLayer({ + id: res.id, + source: vectorSource, + }); + window.map.addLayer(vectorLayer) + }, + addBillboardlayer(res) { + var style = res.style; + var val = this.CesiumTo84(style.position.x, style.position.y, style.position.z) + const imgFeature = new Feature({ + geometry: new Point([val[0], val[1]]), + }); + const imgStyle = new Style({ + image: new Icon({ + scale: style.scale, + src: style.image, + }), + }); + imgFeature.setStyle([imgStyle]) + const vectorSource = new VectorSource({ + features: [imgFeature], + }); + var vectorLayer = new VectorLayer({ + id: res.id, + source: vectorSource, + }); + window.map.addLayer(vectorLayer) + }, + addPolylinelayer(res) { + var style = res.style; + var positon = style.positions; + var geom = []; + for (var i in positon) { + var lonlat = positon[i]; + var val = this.CesiumTo84(lonlat.x, lonlat.y, lonlat.z); + geom.push([val[0], val[1]]) + } + const lineFeature = new Feature({ + geometry: new LineString(geom), + name: "Line" + }); + const lineStyle = new Style({ + + stroke: new Stroke({ + color: style.color, + width: style.outlineWidth == 0 ? 2 : style.outlineWidth, + }), + + }); + lineFeature.setStyle([lineStyle]) + const vectorSource = new VectorSource({ + features: [lineFeature], + }); + var vectorLayer = new VectorLayer({ + id: res.id, + source: vectorSource, + }); + window.map.addLayer(vectorLayer) + }, + addRectanglelayer(res) { + var style = res.style; + + var east = Cesium.Math.toDegrees( + style.coordinates.east + ); + var north = Cesium.Math.toDegrees( + style.coordinates.north + ); + var west = Cesium.Math.toDegrees( + style.coordinates.west + ); + var south = Cesium.Math.toDegrees( + style.coordinates.south + ); + + var rectFeature = new Feature({ + geometry: new fromExtent([east, south, west, north]) + }); + const rectStyle = new Style({ + //濉厖鑹� + fill: new Fill({ + color: style.color, + }), + //杈圭嚎棰滆壊 + stroke: new Stroke({ + color: style.outlineColor, + width: 1 + }), + }); + rectFeature.setStyle(rectStyle) + const vectorSource = new VectorSource({ + features: [rectFeature], + }); + var vectorLayer = new VectorLayer({ + id: res.id, + source: vectorSource, + }); + window.map.addLayer(vectorLayer) + }, + addPolygonlayer(res) { + var style = res.style; + console.log(style) + var positon= style.positions; + var geom = []; + for (var i in positon) { + var lonlat = positon[i]; + var val = this.CesiumTo84(lonlat.x, lonlat.y, lonlat.z); + geom.push([val[0], val[1]]) + } + if(geom[0]!= geom[geom.length-1]){ + geom.push(geom[0]) + } + var std =[]; + std.push(geom) + var rectFeature = new Feature({ + geometry: new Polygon(std) + }); + + const rectStyle = new Style({ + //濉厖鑹� + fill: new Fill({ + color: style.color, + }), + //杈圭嚎棰滆壊 + stroke: new Stroke({ + color: style.outlineColor, + width: 1 + }), + }); + rectFeature.setStyle(rectStyle) + const vectorSource = new VectorSource({ + features: [rectFeature], + }); + var vectorLayer = new VectorLayer({ + id: res.id, + source: vectorSource, + }); + window.map.addLayer(vectorLayer) + + }, +} +export default mapOL; \ No newline at end of file diff --git a/src/assets/js/Layer/mapViewer.js b/src/assets/js/Layer/mapViewer.js index b5795dc..65405c5 100644 --- a/src/assets/js/Layer/mapViewer.js +++ b/src/assets/js/Layer/mapViewer.js @@ -1,4 +1,5 @@ import store from "../../../store"; +import mapInfo from "./mapInfo"; import model from "./model"; const mapViewer = { leftClick: null, @@ -10,7 +11,9 @@ addLeftClick() { this.leftClick = new Cesium.ScreenSpaceEventHandler(window.Viewer.canvas); this.leftClick.setInputAction(function (event) { - let cartesian = window.Viewer.camera.pickEllipsoid(event.position); + let nPickFeature = Viewer.scene.pick(event.position); + let cartesian = window.Viewer.camera.pickEllipsoid(event.position); + let cartographic = Cesium.Cartographic.fromCartesian(cartesian); let lng = Cesium.Math.toDegrees(cartographic.longitude); // 缁忓害 let lat = Cesium.Math.toDegrees(cartographic.latitude); // 绾害 @@ -24,18 +27,34 @@ roll: 0, scale: 1, }; - - if(store.state.addModelFlag){ + store.state.coordinate = coordinate; + if (store.state.addModelFlag) { model.setModelCoord(coordinate); + } + if(store.state.isMeasureFlag){ + store.state.measureCoordObj = coordinate; + store.state.isShowMeasureCoord= true; + } + if (Cesium.defined(nPickFeature)) { + if(nPickFeature.id && nPickFeature.id.properties){ + + mapInfo.setGeoJsonInfo(nPickFeature.id.properties) + } + + } + if(store.state.isQueryFalag){ + console.log(coordinate) + store.state.isQyeryCoord = coordinate; + } + }, Cesium.ScreenSpaceEventType.LEFT_CLICK) }, addRightClick() { this.rightClick = new Cesium.ScreenSpaceEventHandler(window.Viewer.canvas); this.rightClick.setInputAction(function (event) { let pickedObject = window.Viewer.scene.pick(event.position); - - console.log(pickedObject) + store.state.isMeasureFlag = false; }, Cesium.ScreenSpaceEventType.RIGHT_CLICK) }, } diff --git a/src/assets/js/Layer/measure.js b/src/assets/js/Layer/measure.js new file mode 100644 index 0000000..9f48c37 --- /dev/null +++ b/src/assets/js/Layer/measure.js @@ -0,0 +1,32 @@ +import Viewer from "../../../components/map/viewer.vue"; + +const measure = { + imgLabel: [], + addImgLabel(res) { + // const label = sgworld.factory.createLabel({ + // lon: res.lon, + // lat: res.lat, + // alt: 20, + // text: res.dis, + // image: "./test03-01.png", + // // 鏂囨湰鍋忕Щ閲� + // pixelOffset: new SmartEarth.Cesium.Cartesian2(0, -50), + // // 鍥剧墖鍋忕Щ閲� + // iPixelOffset: new SmartEarth.Cesium.Cartesian2(0, -20) + // }); + // this.imgLabel.push(label) + }, + deleteImgLabel() { + // for (var i = 0; i< this.imgLabel.length; i++) { + // var label = this.imgLabel[i]; + // for(var j = 0; j<Viewer.entities._entities._array.length;j++){ + // if(Viewer.entities._entities._array[j].id == label.entity.id){ + // Viewer.entities.remove(Viewer.entities._entities._array[j]) + // } + // } + // } + // this.imgLabel=[]; + } +} + +export default measure; \ No newline at end of file diff --git a/src/assets/js/Layer/menuGrid.js b/src/assets/js/Layer/menuGrid.js new file mode 100644 index 0000000..130be82 --- /dev/null +++ b/src/assets/js/Layer/menuGrid.js @@ -0,0 +1,13 @@ +const menuGrid = { + init() { + console.log(123) + var grid = sgworld.Creator.createSimpleGraphic( + "rectangle", + { + // clampToGround: false + }, entity => { + + }) + }, +} +export default menuGrid; \ No newline at end of file diff --git a/src/assets/js/Layer/model.js b/src/assets/js/Layer/model.js index b1a1365..b1bd8c6 100644 --- a/src/assets/js/Layer/model.js +++ b/src/assets/js/Layer/model.js @@ -10,6 +10,14 @@ this.title = item; this.setModelMouseMove(); }, + deleteAll() { + if (!this.modelLayer) return; + for (var i = 0; i < this.modelLayer._primitives.length; i++) { + this.modelLayer.remove(this.modelLayer._primitives[i]); + i--; + } + this.modelLayer = null; + }, setModelCoord(res) { store.state.addModelFlag = false; this.setModelMouseMove(); @@ -62,6 +70,7 @@ this.getModelLayer(); var modelMatrix = this.getModelMatrix(res.style); var url = layerData.config.Model_URL + res.style.url; + var model = this.modelLayer.add(Cesium.Model.fromGltf({ id: res.id, url: url, @@ -80,7 +89,7 @@ for (var i = 0; i < this.modelLayer._primitives.length; i++) { var model = this.modelLayer._primitives[i] - if (model.id == res.id) { + if (model.id === res.id) { this.modelLayer.remove(this.modelLayer._primitives[i]); } } diff --git a/src/assets/js/Layer/test03-01.png b/src/assets/js/Layer/test03-01.png new file mode 100644 index 0000000..c241360 --- /dev/null +++ b/src/assets/js/Layer/test03-01.png Binary files differ diff --git a/src/assets/js/Layer/zhuanghao.js b/src/assets/js/Layer/zhuanghao.js new file mode 100644 index 0000000..f8014bd --- /dev/null +++ b/src/assets/js/Layer/zhuanghao.js @@ -0,0 +1,139 @@ +const zhData = { + + + data: [ + + { "value": "1050+000", "lon": 120.236193, "lat": 32.023175, "alt": 13.874103 }, + + { "value": "1050+100", "lon": 120.236513, "lat": 32.022301, "alt": 13.874103 }, + { "value": "1050+200", "lon": 120.236837, "lat": 32.021413, "alt": 13.874103 }, + { "value": "1050+300", "lon": 120.237136, "lat": 32.020592, "alt": 13.874103 }, + { "value": "1050+400", "lon": 120.237454, "lat": 32.019719, "alt": 13.874103 }, + { "value": "1050+500", "lon": 120.237769, "lat": 32.018874, "alt": 13.874103 }, + { "value": "1050+600", "lon": 120.238103, "lat": 32.017975, "alt": 13.874103 }, + { "value": "1050+700", "lon": 120.238408, "lat": 32.017154, "alt": 13.874103 }, + { "value": "1050+800", "lon": 120.238739, "lat": 32.01625, "alt": 13.874103 }, + { "value": "1050+900", "lon": 120.239023, "lat": 32.015465, "alt": 13.874103 }, + { "value": "1051+000", "lon": 120.239327, "lat": 32.014617, "alt": 13.874103 }, + { "value": "1051+100", "lon": 120.239631, "lat": 32.013719, "alt": 13.874103 }, + { "value": "1051+200", "lon": 120.239857, "lat": 32.013009, "alt": 13.874103 }, + { "value": "1051+300", "lon": 120.240124, "lat": 32.012116, "alt": 13.874103 }, + { "value": "1051+400", "lon": 120.240387, "lat": 32.011165, "alt": 13.874103 }, + { "value": "1051+500", "lon": 120.240613, "lat": 32.010049, "alt": 13.874103 }, + { "value": "1051+600", "lon": 120.240774, "lat": 32.009161, "alt": 13.874103 }, + { "value": "1051+700", "lon": 120.241055, "lat": 32.008296, "alt": 13.8741025925 }, + { "value": "1051+800", "lon": 120.241211, "lat": 32.007445, "alt": 13.195145607000001 }, + { "value": "1051+900", "lon": 120.241343, "lat": 32.0067, "alt": 12.6165876389 }, + { "value": "1052+000", "lon": 120.241424, "lat": 32.005901, "alt": 11.9407968521 }, + { "value": "1052+100", "lon": 120.241581, "lat": 32.004963, "alt": 11.632371902499999 }, + { "value": "1052+200", "lon": 120.241761, "lat": 32.004085, "alt": 14.4451198578 }, + { "value": "1052+300", "lon": 120.241923, "lat": 32.003181, "alt": 16.110471725499998 }, + { "value": "1052+400", "lon": 120.242074, "lat": 32.002269, "alt": 16.478689193699999 }, + { "value": "1052+500", "lon": 120.242225, "lat": 32.001396, "alt": 16.709852218599998 }, + { "value": "1052+600", "lon": 120.242369, "lat": 32.000568, "alt": 16.709852218599998 }, + { "value": "1052+700", "lon": 120.242551, "lat": 31.999642, "alt": 16.709852218599998 }, + { "value": "1052+800", "lon": 120.242743, "lat": 31.998794, "alt": 16.709852218599998 }, + { "value": "1052+900", "lon": 120.242949, "lat": 31.997912, "alt": 16.709852218599998 }, + { "value": "1053+000", "lon": 120.243173, "lat": 31.997058, "alt": 16.709852218599998 }, + { "value": "1053+100", "lon": 120.243443, "lat": 31.996109, "alt": 16.709852218599998 }, + { "value": "1053+200", "lon": 120.243715, "lat": 31.995199, "alt": 16.709852218599998 }, + { "value": "1053+300", "lon": 120.243969, "lat": 31.994404, "alt": 16.709852218599998 }, + { "value": "1053+400", "lon": 120.244294, "lat": 31.99348, "alt": 16.709852218599998 }, + { "value": "1053+500", "lon": 120.244607, "lat": 31.992624, "alt": 16.709852218599998 }, + { "value": "1053+600", "lon": 120.244944, "lat": 31.991762, "alt": 16.709852218599998 }, + { "value": "1053+700", "lon": 120.245299, "lat": 31.990905, "alt": 16.709852218599998 }, + { "value": "1053+800", "lon": 120.245658, "lat": 31.99007, "alt": 16.709852218599998 }, + { "value": "1053+900", "lon": 120.246076, "lat": 31.989147, "alt": 16.709852218599998 }, + { "value": "1054+000", "lon": 120.246483, "lat": 31.988292, "alt": 16.709852218599998 }, + { "value": "1054+100", "lon": 120.246895, "lat": 31.987466, "alt": 16.709852218599998 }, + { "value": "1054+200", "lon": 120.247327, "lat": 31.986631, "alt": 16.709852218599998 }, + { "value": "1054+300", "lon": 120.247915, "lat": 31.985551, "alt": 16.709852218599998 }, + { "value": "1054+400", "lon": 120.248195, "lat": 31.98504, "alt": 16.709852218599998 }, + { "value": "1054+500", "lon": 120.248641, "lat": 31.984206, "alt": 16.709852218599998 }, + { "value": "1054+600", "lon": 120.249091, "lat": 31.983386, "alt": 16.709852218599998 }, + { "value": "1054+700", "lon": 120.249526, "lat": 31.982585, "alt": 16.709852218599998 }, + { "value": "1054+800", "lon": 120.249966, "lat": 31.981759, "alt": 16.709852218599998 }, + { "value": "1054+900", "lon": 120.250414, "lat": 31.980919, "alt": 16.709852218599998 }, + { "value": "1055+000", "lon": 120.250851, "lat": 31.980089, "alt": 16.709852218599998 }, + { "value": "1055+100", "lon": 120.25129, "lat": 31.979273, "alt": 16.709852218599998 }, + { "value": "1055+200", "lon": 120.251733, "lat": 31.978453, "alt": 16.709852218599998 }, + { "value": "1055+300", "lon": 120.252173, "lat": 31.977638, "alt": 16.709852218599998 }, + { "value": "1055+400", "lon": 120.252608, "lat": 31.976833, "alt": 16.709852218599998 }, + { "value": "1055+500", "lon": 120.25297, "lat": 31.976174, "alt": 16.709852218599998 }, + { "value": "1055+600", "lon": 120.253387, "lat": 31.975382, "alt": 16.709852218599998 }, + { "value": "1055+700", "lon": 120.253838, "lat": 31.974543, "alt": 16.709852218599998 }, + { "value": "1055+800", "lon": 120.254284, "lat": 31.973717, "alt": 16.709852218599998 }, + { "value": "1055+900", "lon": 120.254794, "lat": 31.972756, "alt": 16.709852218599998 }, + { "value": "1056+000", "lon": 120.255095, "lat": 31.972097, "alt": 16.709852218599998 }, + { "value": "1056+100", "lon": 120.255515, "lat": 31.971231, "alt": 16.709852218599998 }, + { "value": "1056+200", "lon": 120.256005, "lat": 31.970429, "alt": 16.709852218599998 }, + { "value": "1056+300", "lon": 120.256484, "lat": 31.969579, "alt": 16.709852218599998 }, + { "value": "1056+400", "lon": 120.256919, "lat": 31.96878, "alt": 16.709852218599998 }, + { "value": "1056+500", "lon": 120.257362, "lat": 31.967971, "alt": 16.709852218599998 }, + { "value": "1056+600", "lon": 120.257792, "lat": 31.967166, "alt": 16.709852218599998 }, + { "value": "1056+700", "lon": 120.258283, "lat": 31.966256, "alt": 16.709852218599998 }, + { "value": "1056+800", "lon": 120.258693, "lat": 31.9654, "alt": 16.709852218599998 }, + { "value": "1056+900", "lon": 120.259122, "lat": 31.964611, "alt": 16.709852218599998 }, + { "value": "1057+000", "lon": 120.259625, "lat": 31.963774, "alt": 16.709852218599998 }, + { "value": "1057+100", "lon": 120.260034, "lat": 31.963017, "alt": 16.709852218599998 }, + { "value": "1057+200", "lon": 120.260429, "lat": 31.962285, "alt": 16.709852218599998 }, + { "value": "1057+300", "lon": 120.260867, "lat": 31.961468, "alt": 16.709852218599998 }, + { "value": "1057+400", "lon": 120.2613, "lat": 31.960662, "alt": 16.709852218599998 }, + { "value": "1057+500", "lon": 120.261733, "lat": 31.959852, "alt": 16.709852218599998 }, + { "value": "1057+600", "lon": 120.262199, "lat": 31.958985, "alt": 16.709852218599998 }, + { "value": "1057+700", "lon": 120.262641, "lat": 31.958162, "alt": 20.419439315799998 }, + { "value": "1057+800", "lon": 120.263083, "lat": 31.957342, "alt": 25.1487751007 }, + { "value": "1057+900", "lon": 120.263539, "lat": 31.956495, "alt": 30.774362564099999 }, + { "value": "1058+000", "lon": 120.264, "lat": 31.955635, "alt": 36.906631469700002 }, + { "value": "1058+100", "lon": 120.26446, "lat": 31.954774, "alt": 43.127822876000003 }, + { "value": "1058+200", "lon": 120.264913, "lat": 31.953932, "alt": 46.632724762000002 }, + { "value": "1058+300", "lon": 120.265349, "lat": 31.953114, "alt": 49.689373016399998 }, + { "value": "1058+400", "lon": 120.265786, "lat": 31.952301, "alt": 52.800041198700001 }, + { "value": "1058+500", "lon": 120.266229, "lat": 31.951482, "alt": 193.290725708 }, + { "value": "1058+600", "lon": 120.266532, "lat": 31.950922, "alt": 57.504016876199998 }, + { "value": "1058+700", "lon": 120.266995, "lat": 31.950057, "alt": 59.774166107200003 }, + { "value": "1058+800", "lon": 120.267458, "lat": 31.949195, "alt": 61.832244873 }, + { "value": "1058+900", "lon": 120.267924, "lat": 31.948323, "alt": 64.506950378400006 }, + { "value": "1059+000", "lon": 120.268383, "lat": 31.947459, "alt": 65.622138977099993 }, + { "value": "1059+100", "lon": 120.268714, "lat": 31.946836, "alt": 66.28465271 }, + { "value": "1059+200", "lon": 120.269191, "lat": 31.945966, "alt": 66.740493774399994 }, + { "value": "1059+300", "lon": 120.269659, "lat": 31.945101, "alt": 67.038345336899994 }, + { "value": "1059+400", "lon": 120.270114, "lat": 31.944238, "alt": 66.820884704600005 }, + { "value": "1059+500", "lon": 120.270493, "lat": 31.943512, "alt": 66.550170898399998 }, + { "value": "1059+600", "lon": 120.270954, "lat": 31.942647, "alt": 65.999832153300005 }, + { "value": "1059+700", "lon": 120.271436, "lat": 31.941751, "alt": 65.308151245100007 }, + { "value": "1059+800", "lon": 120.271886, "lat": 31.940912, "alt": 64.024765014600007 }, + { "value": "1059+900", "lon": 120.272358, "lat": 31.940034, "alt": 62.4715614319 }, + { "value": "1060+000", "lon": 120.272824, "lat": 31.939168, "alt": 60.201644897500003 }, + { "value": "1060+100", "lon": 120.273267, "lat": 31.938339, "alt": 58.084266662600001 }, + { "value": "1060+200", "lon": 120.273802, "lat": 31.937337, "alt": 55.740924835199998 }, + { "value": "1060+300", "lon": 120.274241, "lat": 31.936508, "alt": 55.740925 }, + { "value": "1060+400", "lon": 120.27467, "lat": 31.935689, "alt": 55.740925 }, + { "value": "1060+500", "lon": 120.27511, "lat": 31.934861, "alt": 55.740925 }, + { "value": "1060+600", "lon": 120.275547, "lat": 31.934052, "alt": 55.740925 }, + { "value": "1060+700", "lon": 120.27594, "lat": 31.93332, "alt": 55.740925 }, + { "value": "1060+800", "lon": 120.276386, "lat": 31.932513, "alt": 55.740925 }, + { "value": "1060+900", "lon": 120.276805, "lat": 31.931717, "alt": 55.740925 }, + { "value": "1061+000", "lon": 120.27713, "lat": 31.931113, "alt": 55.740925 }, + { "value": "1061+100", "lon": 120.277607, "lat": 31.930438, "alt": 55.740925 }, + { "value": "1061+200", "lon": 120.278157, "lat": 31.929557, "alt": 55.740925 }, + { "value": "1061+300", "lon": 120.278596, "lat": 31.928878, "alt": 55.740925 }, + { "value": "1061+400", "lon": 120.279217, "lat": 31.92785, "alt": 55.740925 }, + { "value": "1061+500", "lon": 120.279718, "lat": 31.927132, "alt": 55.740925 }, + { "value": "1061+600", "lon": 120.280311, "lat": 31.926338, "alt": 55.740925 }, + { "value": "1061+700", "lon": 120.28096, "lat": 31.925491, "alt": 55.740925 }, + { "value": "1061+800", "lon": 120.28155, "lat": 31.924714, "alt": 55.740925 }, + { "value": "1061+900", "lon": 120.282201, "lat": 31.923877, "alt": 55.740925 }, + { "value": "1062+000", "lon": 120.282721, "lat": 31.92326, "alt": 55.740925 }, + { "value": "1062+100", "lon": 120.283335, "lat": 31.922504, "alt": 55.740925 }, + { "value": "1062+200", "lon": 120.283865, "lat": 31.921831, "alt": 55.740925 }, + { "value": "1062+300", "lon": 120.284462, "lat": 31.921045, "alt": 55.740925 }, + { "value": "1062+400", "lon": 120.284929, "lat": 31.920421, "alt": 55.740925 }, + { "value": "1062+500", "lon": 120.285564, "lat": 31.919545, "alt": 55.740925 }, + { "value": "1062+600", "lon": 120.286075, "lat": 31.918817, "alt": 55.740925 }, + { "value": "1062+700", "lon": 120.286664, "lat": 31.917935, "alt": 55.740925 }, + { "value": "1062+800", "lon": 120.287156, "lat": 31.917189, "alt": 55.740925 }, + { "value": "1062+900", "lon": 120.287688, "lat": 31.916341, "alt": 55.740925 }, + ] +} +export default zhData; \ No newline at end of file diff --git a/src/components/index.vue b/src/components/index.vue index 9227b11..5bb3dfd 100644 --- a/src/components/index.vue +++ b/src/components/index.vue @@ -23,6 +23,7 @@ </div> <viewer1 class="mapViewer" id="mapOl" :key="switchKey" v-show="viewer1Show" :style="viewer1Style" /> <viewer class="mapViewer" id="mapView" ref="mapViewer" :style="viewerStyle" /> + <measure-coord v-show="$store.state.isShowMeasureCoord"></measure-coord> <div class="controlPanel" :style="{ width: `${size}`, height: `${size}`, @@ -53,6 +54,8 @@ <div id="imageModel" class="imageModel"> <img id="myImage" class="image" src=""> </div> + <message-info v-if="$store.state.showMessageInfo"></message-info> + <zhai-hai-info v-if="$store.state.isshowZhaiHai"></zhai-hai-info> </div> </template> @@ -70,7 +73,9 @@ import signalling from "@/components/menu/signalling"; import bottommenu from "@/components/menu/bottom-menu"; import { mapState, mapMutations } from "vuex"; - +import messageInfo from "@/components/left/layerTree/messageInfo.vue"; +import measureCoord from "@/components/left/layerTree/measureCoord.vue"; +import zhaiHaiInfo from "./left/layerTree/zhaiHaiInfo.vue"; export default { name: "index", components: { @@ -85,7 +90,10 @@ setting, qycharts, History, - signalling + signalling, + messageInfo, + measureCoord, + zhaiHaiInfo }, data() { return { diff --git a/src/components/left/layerTree.vue b/src/components/left/layerTree.vue index b3b0c3c..51a416f 100644 --- a/src/components/left/layerTree.vue +++ b/src/components/left/layerTree.vue @@ -1569,6 +1569,7 @@ break; case "wmse": + layer = sgworld.Creator.CreateWMSImageFeatureLayer( treeNode.name, { @@ -1576,7 +1577,8 @@ url: treeNode.urls, queryParameters: { layers: treeNode.layer || "" - } + }, + }, {}, "0", diff --git a/src/components/left/layerTree/Layer.vue b/src/components/left/layerTree/Layer.vue index 389efd2..9cb47da 100644 --- a/src/components/left/layerTree/Layer.vue +++ b/src/components/left/layerTree/Layer.vue @@ -19,8 +19,8 @@ <el-button class="button-user" type="primary" icon="el-icon-upload" title="涓婁紶鑷虫湇鍔″櫒" @click.stop="saveHistoryPlot"></el-button> - <!-- <el-button class="button-user historyBtn" type="primary" icon="el-icon-s-order" title="鍘嗗彶璁板綍" - @click.stop="histotyPlotting"></el-button> --> + <el-button class="button-user historyBtn" type="primary" icon="el-icon-s-order" title="鑾峰彇鏈�鏂版暟鎹�" + @click.stop="histotyPlotting"></el-button> </el-upload> </div> @@ -99,6 +99,7 @@ import SaveScene from "./SaveScene.vue"; import { Op_SelectByPage, Op_Insert, Op_UpdateById } from '../../../api/api.js' import model from "../../../assets/js/Layer/model"; +import mapOL from "../../../assets/js/Layer/mapOL"; // 宸ョ▼鏍戝伐鍏� let _treeTool; function arrGroup(arr, fn) { @@ -195,7 +196,8 @@ Bus.$emit("checkTab", "index/add/treeLayer", false); }, closeLayer() { - this.$parent.hideLayer(); + this.$store.state.isShowLayer= false + // this.$parent.hideLayer(); }, // 瀹氫箟涓浆绔欎簨浠� initBusEvent() { @@ -389,6 +391,9 @@ }, // 鍔犺浇鍘嗗彶鏍囩粯鏁版嵁 async histotyPlotting() { + this.setTreeData([]); + this.initData({}); + model.deleteAll(); const data = await Op_SelectByPage({ pageSize: 1000000, pageIndex: 1, name: '' }); if (data.status == 200 && data.data.length > 0) { var val_data = data.data; @@ -550,6 +555,7 @@ if (addData && node._children) { node._children.forEach((item) => { _treeTool.addData(item); + console.log(item) this.setAddGLBLayer(item); }); } else { @@ -586,6 +592,12 @@ model.addModelLayer(treeNode); } else { model.setDelGLBModel(treeNode); + } + } else if (treeNode.sourceType == "SimpleGraphic") { + if (isCheck) { + mapOL.addLayerData(treeNode); + } else { + mapOL.removeLayerD(treeNode); } } // 鍙兘鍚屾椂鍔犺浇涓�涓湴褰� @@ -809,6 +821,8 @@ if (res.sourceType == "GLB" && res.checked) { model.addModelLayer(res); + } else if (res.sourceType == "SimpleGraphic" && res.checked) { + mapOL.addLayerData(res); } }, // 娣诲姞婕旂ず鍔ㄧ敾 @@ -943,6 +957,10 @@ if (this.selectNode.sourceType === "GLB") { model.setDelGLBModel(this.selectNode) } + if (this.selectNode.sourceType === "SimpleGraphic") { + + mapOL.removeLayerData(this.selectNode) + } this.remove(this.selectNode); this.$refs.tree && this.$refs.tree.setCurrentKey(null); diff --git a/src/components/left/layerTree/measureCoord.vue b/src/components/left/layerTree/measureCoord.vue new file mode 100644 index 0000000..febde6c --- /dev/null +++ b/src/components/left/layerTree/measureCoord.vue @@ -0,0 +1,175 @@ +<template> + <div id="mapInfo" class="modelBox" v-drag> + <div> + <div class="modleTitle "> + <div>鍧愭爣鎷惧彇</div> + <div class="modelClose" @click="close"> X</div> + </div> + </div> + <div class="modelContent"> + <div class="contentMessage" v-for="(item, index) in modelOption" :key="index"> + <div>{{ item.lon }},{{ item.lat }}</div> + <div>{{ item.dis }}</div> + </div> + </div> + + + </div> +</template> + +<script> +import model from '../../../assets/js/Layer/model'; +import mapInfo from '../../../assets/js/Layer/mapInfo'; + +import * as turf from '@turf/turf' +import measure from '../../../assets/js/Layer/measure'; +export default { + name: "modelEdit", + components: { + menuOpton: [], + }, + computed: { + Obj() { + return this.$store.state.measureCoordObj; + }, + proObj() { + return this.$store.state.isShowMeasureCoord; + } + }, + watch: { + Obj(newVal, oldVal) { + if (newVal) { + this.setMeasureCoord(newVal); + } + }, + proObj(newVal) { + if (newVal == false) { + this.modelOption = [] + } + } + }, + data() { + return { + modelOption: [] + + }; + }, + mounted() { + + }, + destroyed() { + + }, + methods: { + close() { + this.$store.state.isShowMeasureCoord = false + this.$store.state.isMeasureFlag = false + this.$store.state.measureCoordObj = false + measure.deleteImgLabel() + }, + setMeasureCoord(res) { + var dis = null + if (this.modelOption.length > 0) { + var obj = this.modelOption[this.modelOption.length - 1] + var from = turf.point([obj.lon, obj.lat]); + var to = turf.point([res.longitude, res.latitude]); + var options = { units: 'meters' }; + var distance = turf.distance(from, to, options); + dis = distance > 1000 ? parseFloat((distance / 1000)).toFixed(2) + "鍗冪背" : parseFloat((distance)).toFixed(2) + "绫�"; + } else { + dis = '0绫�'; + } + var obj={ + lon: res.longitude, + lat: res.latitude, + dis: dis + } + this.modelOption.push(obj); + measure.addImgLabel(obj); + }, + + } +}; +</script> + +<style scoped lang="less"> +.modelBox { + width: 360px; + height: 40%; + border: 1px solid white; + top: 30%; + right: 60px; + + background-color: rgba(0, 0, 0, 0.6); // #0048fd69 !important + z-index: 9999; + position: absolute; + + + .modleTitle { + height: 42px; + width: 90%; + background: #0048fd69 !important; + border-bottom: 1px solid white; + color: white; + font-weight: 700px; + display: flex; + justify-content: space-between; + align-items: center; + padding: 0% 5%; + + .modelClose { + height: 16px; + width: 16px; + display: flex; + align-items: center; + justify-content: center; + background: rgba(128, 128, 128, 0.6); + font-size: 14x; + } + } + + .modelContent { + width: 90%; + height: calc(95% - 42px); + margin: 5%; + // display: flex; + // justify-content: space-between; + overflow-y: auto; + overflow-x: hidden; + + .contentMessage { + width: 100%; + color: white; + display: flex; + border: 1px solid white; + border-top: transparent; + + div { + // width: 50%; + text-align: center; + // margin-bottom: 5%; + line-height: 50px; + } + + div:first-child { + width: 59%; + border-right: 1px solid white; + + } + + div:last-child { + width: 40%; + border-right: 1px solid white; + + } + } + + .contentMessage:first-child { + border-top: 1px solid white; + ; + } + } + + +} +</style> diff --git a/src/components/left/layerTree/menuQuery.vue b/src/components/left/layerTree/menuQuery.vue new file mode 100644 index 0000000..62f06bd --- /dev/null +++ b/src/components/left/layerTree/menuQuery.vue @@ -0,0 +1,274 @@ +<template> + <div class="modelBox" v-drag> + <div> + <div class="modleTitle "> + <div>妗╁彿鏌ヨ</div> + <div class="modelClose" @click="$store.state.isShowMenuQuery = false"> X</div> + </div> + </div> + <div class="modelContent"> + <div> + <el-select v-model="formInline.type" @change="setTypeChange" placeholder="璇烽�夋嫨" style="width: 100%;"> + <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </div> + <div class="contentBox" label-width="80px"> + <el-form :inline="true" :model="formInline" class="demo-form-inline"> + <el-form-item label="妗╁彿:" v-if="formInline.type != '2'"> + <!-- <el-input v-model="formInline.zhuangHao" style="width: 270px" placeholder="璇疯緭鍏ユ々鍙�..."></el-input> --> + <el-autocomplete class="inline-input" v-model="formInline.zhuangHao" :fetch-suggestions="querySearch" + placeholder="璇疯緭鍏ュ唴瀹�" :trigger-on-focus="false" @select="handleSelect"></el-autocomplete> + </el-form-item> + <el-form-item label="缁忓害:" v-if="formInline.type == '2'"> + <el-input v-model="formInline.lon" style="width: 270px" placeholder="璇疯緭鍏ョ粡搴︽垨鎷惧彇鍧愭爣..."></el-input> + </el-form-item> + <el-form-item label="缁村害:" v-if="formInline.type == '2'"> + <el-input v-model="formInline.lat" style="width: 270px" placeholder="璇疯緭鍏ョ淮搴︽垨鎷惧彇鍧愭爣..."></el-input> + </el-form-item> + <el-form-item> + <div class="contentButton"> + <el-button size="small" @click="$store.state.isQueryFalag = true" v-show="formInline.type == '2'">鎷惧彇 + </el-button> + <el-button size="small" @click="setQuery">鏌ヨ</el-button> + </div> + + </el-form-item> + + </el-form> + </div> + <div class="queryBox" v-show="queryData.length > 0" v-for="(item, key) in queryData" :key="key"> + <div> + {{ item.name }} + </div> + <div> + : + </div> + <div> + {{ item.val }} + </div> + </div> + </div> + + + </div> +</template> + +<script> +import model from '../../../assets/js/Layer/model'; +import zhData from '../../../assets/js/Layer/zhuanghao'; +import { kuanDeng_mp_getMpByLocation } from '../../../api/api' + +export default { + name: "modelQuery", + components: {}, + + computed: { + Obj() { + return this.$store.state.isQyeryCoord; + }, + }, + watch: { + Obj(newVal, oldVal) { + + if (newVal) { + this.formInline.lon= newVal.longitude; + this.formInline.lat= newVal.latitude; + this.$store.state.isQueryFalag = false; + this.$store.state.isQyeryCoord = null; + } + }, + }, + data() { + return { + options: [{ + value: '1', + label: '妗╁彿鏌ヨ' + }, { + value: '2', + label: '鍧愭爣鏌ヨ' + }], + + formInline: { + type: '1', + zhuangHao: "", + lon: "", + lat: "" + }, + restaurants: [], + queryData: [], + }; + }, + mounted() { + this.setLayerStart(); + }, + destroyed() { + + }, + methods: { + setTypeChange() { + this.formInline.zhuangHao = ""; + this.formInline.lon = ""; + this.formInline.lat = ""; + this.queryData = []; + }, + setQuery() { + var coord = null; + if (this.formInline.type == '1') { + coord = this.getQueryItem(this.formInline.zhuangHao); + } else { + coord={ + lon:this.formInline.lon, + lat:this.formInline.lat + } + } + if (!coord) return; + this.getQueryMessageInfo(coord) + + }, + async getQueryMessageInfo(coord) { + this.queryData = []; + const data = await kuanDeng_mp_getMpByLocation(coord) + if (data.status == 200 && data.data.result.length > 0) { + var val = data.data.result[0]; + if (!val.LINK_CODE) return; + + for (var key in val) { + var qval = null; + if (key === "UP_DOWN") { + + if (val[key] == '1') { + qval = '涓婅' + } else if (val[key] == '2') { + qval = '涓嬭' + } + } else { + qval = val[key] + } + this.queryData.push({ + name: key, + val: qval + }) + } + } + if (this.queryData.length > 0 && this.formInline.type == '1') { + Viewer.camera.flyTo({ + destination: Cesium.Cartesian3.fromDegrees( + coord.lon, + coord.lat, + 300 + ), + orientation: { + heading: 0, + pitch: Cesium.Math.toRadians(-80.0), + roll: 0, + }, + + }); + } + + }, + getQueryItem(res) { + + for (var i in this.restaurants) { + + if (this.restaurants[i].value === res) { + var coord = this.restaurants[i]; + return { + lon: coord.lon, + lat: coord.lat, + alt: coord.alt + }; + } + } + return null; + }, + setLayerStart() { + this.restaurants = zhData.data; + }, + querySearch(queryString, cb) { + var restaurants = this.restaurants; + var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; + // 璋冪敤 callback 杩斿洖寤鸿鍒楄〃鐨勬暟鎹� + cb(results); + }, + handleSelect(item) { + + this.queryItem = item; + }, + createFilter(queryString) { + return (restaurant) => { + + return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0); + }; + }, + } +}; +</script> + +<style scoped lang="less"> +.modelBox { + width: 360px; + height: 60%; + border: 1px solid white; + top: 70px; + right: 20px; + background-color: rgba(0, 0, 0, 0.6); // #0048fd69 !important + z-index: 9999; + position: absolute; + + .modleTitle { + height: 42px; + width: 90%; + background: #0048fd69 !important; + border-bottom: 1px solid white; + color: white; + font-weight: 700px; + display: flex; + justify-content: space-between; + align-items: center; + padding: 0% 5%; + + .modelClose { + height: 16px; + width: 16px; + display: flex; + align-items: center; + justify-content: center; + background: rgba(128, 128, 128, 0.6); + font-size: 14x; + } + } + + .modelContent { + + width: 90%; + height: calc(95% - 42px); + margin: 5%; + + /deep/.el-form-item__label { + color: white; + } + + .contentBox { + padding: 10px 0px; + } + + .contentButton { + width: 325px; + display: flex; + justify-content: center; + } + + .queryBox { + display: flex; + color: white; + + div { + line-height: 40px; + } + + } + } +} +</style> diff --git a/src/components/left/layerTree/messageInfo.vue b/src/components/left/layerTree/messageInfo.vue new file mode 100644 index 0000000..a733a99 --- /dev/null +++ b/src/components/left/layerTree/messageInfo.vue @@ -0,0 +1,129 @@ +<template> + <div id="mapInfo" class="modelBox" v-drag> + <div> + <div class="modleTitle "> + <div>灞炴�т俊鎭�</div> + <div class="modelClose" @click="$store.state.showMessageInfo = false"> X</div> + </div> + </div> + <div class="modelContent"> + <div class="contentMessage" v-for="(item, index) in modelOption" :key="index"> + <div>{{ item.name }}</div> + <div>{{ item.value }}</div> + </div> + </div> + + + </div> +</template> + +<script> +import model from '../../../assets/js/Layer/model'; +import mapInfo from '../../../assets/js/Layer/mapInfo'; + + +export default { + name: "modelEdit", + components: { + + }, + + data() { + return { + modelOption: null + + }; + }, + mounted() { + this.setLayerStart(); + }, + destroyed() { + + }, + methods: { + + setLayerStart() { + this.modelOption = mapInfo.mssageInfo; + }, + + } +}; +</script> + +<style scoped lang="less"> +.modelBox { + width: 370px; + height: 30%; + border: 1px solid white; + top: 30%; + left: calc(50% - 180px); + + background-color: rgba(0, 0, 0, 0.6); // #0048fd69 !important + z-index: 9999; + position: absolute; + + + .modleTitle { + height: 42px; + width: 90%; + background: #0048fd69 !important; + border-bottom: 1px solid white; + color: white; + font-weight: 700px; + display: flex; + justify-content: space-between; + align-items: center; + padding: 0% 5%; + + .modelClose { + height: 16px; + width: 16px; + display: flex; + align-items: center; + justify-content: center; + background: rgba(128, 128, 128, 0.6); + font-size: 14x; + + } + } + + .modelContent { + width: 88%; + height: calc(95% - 62px); + margin: 5%; + // display: flex; + // justify-content: space-between; + + overflow-y: auto; + overflow-x: hidden; + .contentMessage { + width: 100%; + color: white; + display: flex; + border: 1px solid white; + border-top: transparent; + + div { + width: calc(50% - 2px); + text-align: center; + // margin-bottom: 5%; + line-height: 50px; + border-right: 1px solid white; + } + + div:first-child { + border-right: 1px solid white; + + } + + } + + .contentMessage:first-child { + border-top: 1px solid white; + ; + } + } + + +} +</style> diff --git a/src/components/left/layerTree/modelEdit.vue b/src/components/left/layerTree/modelEdit.vue index b284c10..dce0f94 100644 --- a/src/components/left/layerTree/modelEdit.vue +++ b/src/components/left/layerTree/modelEdit.vue @@ -13,11 +13,11 @@ </el-form-item> <el-form-item label="缁忓害"> <el-input-number style="width: 100%;" @change="setModelFormChange(2)" v-model="modelOption.style.longitude" - :step="0.001" /> + :step="0.00001" /> </el-form-item> <el-form-item label="缁村害"> <el-input-number style="width: 100%;" @change="setModelFormChange(2)" v-model="modelOption.style.latitude" - :step="0.001" /> + :step="0.00001" /> </el-form-item> <el-form-item label="楂樺害"> <el-input-number style="width: 100%;" @change="setModelFormChange(2)" :min="-100" :max="1000" diff --git a/src/components/left/layerTree/zhaiHaiInfo.vue b/src/components/left/layerTree/zhaiHaiInfo.vue new file mode 100644 index 0000000..70c7c40 --- /dev/null +++ b/src/components/left/layerTree/zhaiHaiInfo.vue @@ -0,0 +1,204 @@ +<template> + <div id="mapInfo" class="modelBox" v-drag> + <div> + <div class="modleTitle "> + <div>灞炴�т俊鎭�</div> + <div class="modelClose" @click="$store.state.isshowZhaiHai = false"> X</div> + </div> + </div> + <div class="modelContent "> + <div class="pdDialog" style="height: 100%;width: 100%; "> + <canvas id="pdCanvas"> + </canvas> + </div> + </div> + + + </div> +</template> + +<script> + + + + +export default { + name: "zhaiHaiInfo", + components: { + + }, + + data() { + return { + properties: null, + + }; + }, + mounted() { + this.setLayerStart(); + }, + destroyed() { + + }, + methods: { + + setLayerStart() { + this.properties = this.$store.state.showZhaiHaiImg; + this.renderCanvas(this.properties) + }, + renderCanvas(properties) { + // 鍥剧墖鍔犺浇鎴愬姛鍚� + const imgs = new Image() + let imgSrc = "http://222.128.27.75:18010/thumb/production/road_detection_v4/" + + properties.projectId + "/distress_track_processor_v5/output/" + + properties.trackId + "/bev_video/" + + properties.trackId + ".mp4/thumb-" + + (properties.frameNo - 1) * 10 + ".jpg" + imgs.crossOrigin = 'Anonymous' + imgs.setAttribute('crossOrigin', 'Anonymous') + imgs.src = imgSrc; + imgs.onerror = () => { + console.error('鍥剧墖鍔犺浇澶辫触!'); + return false + } + var that = this; + imgs.onload = () => { + let imgHeight = 0, + imgWidth = 0; + + let gridSize = [ + properties.G_WIDTH || 40, properties.G_WIDTH || 44 + ] + const canvas = document.getElementById('pdCanvas'); + if (!canvas) { return } + const ctx = canvas.getContext('2d'); + const _frame = document.getElementsByClassName('pdDialog')[0]; + const canvasWidth = _frame.offsetWidth; + const canvasHeight = _frame.offsetHeight; + // console.log(imgs) + + // var originalHeight = imgs.HEIGHT||761 / 1; + // var originalWidth = imgs.WIDTH||1523 / 1; + var originalHeight = Number(properties.HEIGHT) || 800 / 1; + var originalWidth = Number(properties.WIDTH) || 1600 / 1; + // 鐢诲竷瀹介珮姣� + const canvasRatio = canvasWidth / canvasHeight; + // 鍥剧墖鐨勫楂樻瘮 + var whRatio = originalWidth / originalHeight; + // 鍥剧墖鐩稿浜庣敾甯冪殑灏哄杩涜璋冩暣 + // 濡傛灉鍥剧墖鐨勫楂樻瘮澶т簬鐢诲竷鐨勫楂樻瘮 + if (whRatio > canvasRatio) { + imgWidth = canvasWidth; + imgHeight = imgWidth / whRatio; + } else { + imgHeight = canvasHeight; + imgWidth = imgHeight * whRatio; + } + whRatio = imgWidth / imgHeight; + canvas.height = imgHeight; + canvas.width = imgWidth; + //缁樺埗鑳屾櫙鍥� + ctx.drawImage( + imgs, + 0, + 0, + imgWidth, + imgHeight + ) + + var scaleGridSizeX = imgWidth / originalWidth * gridSize[0]; + var scaleGridSizeY = imgHeight / originalHeight * gridSize[1]; + var scaleGridSize = [ + scaleGridSizeX, scaleGridSizeY + ]; + that.drawMarker(ctx, scaleGridSize, properties); + } + }, + drawMarker(ctx, scaleGridSize, properties) { + let width = scaleGridSize[0]; + let height = scaleGridSize[0]; + let _grids = []; + + var grid = properties.grids._value + if (!Array.isArray(grid)) { + _grids = JSON.parse(grid) + } else { + _grids =grid; + } + _grids.forEach(m => { + let x = m[0] * width; + let y = m[1] * height; + let markerImg = new Image(); + + let markerImgSrc = 'https://webapi.kuandeng.net/gs/pddemo/pdmarker/' + properties.type + '.png'; + markerImg.crossOrigin = 'Anonymous' + markerImg.setAttribute('crossOrigin', 'Anonymous') + markerImg.src = markerImgSrc; + + markerImg.onload = () => { + ctx.drawImage(markerImg, + x, + y, + width, + height) + } + + }) + } + } +}; +</script> + +<style scoped lang="less"> +.modelBox { + width: 40%; + height: 50%; + border: 1px solid white; + top: 25%; + left: 30%; + + background-color: rgba(0, 0, 0, 0.6); // #0048fd69 !important + z-index: 9999; + position: absolute; + + + .modleTitle { + height: 42px; + width: 90%; + background: #0048fd69 !important; + border-bottom: 1px solid white; + color: white; + font-weight: 700px; + display: flex; + justify-content: space-between; + align-items: center; + padding: 0% 5%; + + .modelClose { + height: 16px; + width: 16px; + display: flex; + align-items: center; + justify-content: center; + background: rgba(128, 128, 128, 0.6); + font-size: 14x; + + } + } + + .modelContent { + width: 100%; + height: calc(100% - 42px); + // margin: 1%; + // display: flex; + // justify-content: space-between; + + + + + + } + + +} +</style> diff --git a/src/components/left/leftmenu.vue b/src/components/left/leftmenu.vue index d2536a3..2270aa1 100644 --- a/src/components/left/leftmenu.vue +++ b/src/components/left/leftmenu.vue @@ -1,15 +1,7 @@ <template> - <div - @click="showLeftMenu" - :class="{ leftmenu: !isShowLeftPanel, leftmenu_active: isShowLeftPanel }" - class="leftmenustyle" - > - <span - class="closeLeftMenu" - v-if="isShowLeftPanel" - @click.stop="hideLeftMenu" - >脳</span - > + <div @click="showLeftMenu" :class="{ leftmenu: !isShowLeftPanel, leftmenu_active: isShowLeftPanel }" + class="leftmenustyle"> + <span class="closeLeftMenu" v-if="isShowLeftPanel" @click.stop="hideLeftMenu">脳</span> <img class="openLeftMenu" v-else src="@/assets/img/left/souselist4.png" /> <div class="layerTreeContainer" v-show="isShowLeftPanel"> @@ -18,7 +10,7 @@ <el-radio :label="1">缁勭粐鏈烘瀯</el-radio> <el-radio :label="2">涓氬姟瑕佺礌</el-radio> </el-radio-group> --> - <span>鍥惧眰绠$悊</span> + <span>鍥惧眰绠$悊</span> <!-- <div @click="setTreeDataChange(1)">涓氬姟</div> <div @click="setTreeDataChange(2)">涓氬姟</div> --> </div> @@ -28,17 +20,8 @@ <el-button size="small" @click="setTreeDataChange(2)">鍥惧眰2</el-button> </div> --> <div class="layerTree"> - <el-tree - :data="treeData" - node-key="id" - ref="tree" - :default-checked-keys="arr" - style="min-width: 160px" - show-checkbox - :render-content="renderContent" - :default-expanded-keys="defaultExpanded" - @check="check" - ></el-tree> + <el-tree :data="treeData" node-key="id" ref="tree" :default-checked-keys="arr" style="min-width: 160px" + show-checkbox :render-content="renderContent" :default-expanded-keys="defaultExpanded" @check="check"></el-tree> </div> </div> </div> @@ -57,6 +40,8 @@ import { getmenu } from "../../api/api"; import keys from "@/assets/poiKeys1"; import store from "@/utils/store"; +import mapInfo from "../../assets/js/Layer/mapInfo"; +import mapGeo from "../../assets/js/Layer/mapGeo"; let colorTool; let projectTreeData = []; @@ -840,6 +825,7 @@ // 鎵撳嬀閫変腑 let isCheck = data.checkedKeys.indexOf(treeNode.id) > -1; this.setVisiable(treeNode, isCheck); + this.setGeoJSOnCheck(treeNode,isCheck); //閫変腑涔嬪悗浼犵粰vuex let selectedLayers = this.$refs.tree.getCheckedNodes(); let filterSelectLayers = selectedLayers; @@ -866,6 +852,11 @@ // if (this.updateFlag) { return params; // } + }, + setGeoJSOnCheck(treeNode, checked){ + if(!checked){ + mapGeo.delGeoSource(treeNode); + } }, setVisiable(treeNode, checked) { if (treeNode.sourceType == "BJ2000") { @@ -977,7 +968,7 @@ height: 310, url: "./static/html/layerProp.html", fn: { - end: function () {}, + end: function () { }, }, }); } else if (data._children) { @@ -1195,9 +1186,8 @@ treeNode.name, { id: treeNode.id, - url: `${treeNode.urls}/${treeNode.tile || "{z}/{x}/{y}"}.${ - treeNode.img || "png" - }`, + url: `${treeNode.urls}/${treeNode.tile || "{z}/{x}/{y}"}.${treeNode.img || "png" + }`, enablePickFeatures: false, level: treeNode.Level, minimumLevel: treeNode.minimumLevel, @@ -1718,6 +1708,10 @@ ); } break; + case 'GEOJSON': + mapGeo.init(treeNode); + + break; case "wmse": // layer = sgworld.Creator.CreateWMSImageFeatureLayer( // treeNode.name, @@ -1736,6 +1730,12 @@ // true, // function () {} // ); + var that = this; + var getFeatureInfoFormat = new Cesium.GetFeatureInfoFormat("", null, function (html) { + // that.getFeatureInfo(html) + mapInfo.Init(html) + }); + layer = sgworld.Creator.createImageryProvider( treeNode.name, "wms", @@ -1743,16 +1743,19 @@ id: treeNode.id, url: treeNode.urls, level: treeNode.Level, + zIndex: 999, minimumLevel: treeNode.minimumLevel, maximumLevel: treeNode.maximumLevel, - enablePickFeatures: false, - layers: treeNode.layer || "", alpha: treeNode.alpha, parameters: { format: "image/png", transparent: true, + }, + enablePickFeatures: true, + getFeatureInfoParameters: { info_format: 'text/html' }, + getFeatureInfoFormats: [getFeatureInfoFormat], }, "0", undefined, @@ -1769,8 +1772,8 @@ axios .get( treeNode.urls + - "?version=1.3.0&request=GetFeature&format=json&typename=" + - treeNode.layer + "?version=1.3.0&request=GetFeature&format=json&typename=" + + treeNode.layer ) .then((data) => { let features = data.data.features; @@ -2038,7 +2041,7 @@ clampToGround: sgworld.Core.defaultValue( treeNode.clampToGround, treeNode.extrudedHeight === undefined && - treeNode.height === undefined + treeNode.height === undefined ), classificationType: treeNode.classificationType, near: sgworld.Core.defaultValue(treeNode.near, 0), @@ -2169,7 +2172,7 @@ de, "0", treeNode.checked, - function () {} + function () { } ); } else if (treeNode.class === "polylineVolume") { de = { @@ -2199,7 +2202,7 @@ de, "0", treeNode.checked, - function () {} + function () { } ); } else if (treeNode.class === "polyline") { de = { @@ -2239,7 +2242,7 @@ de, "0", treeNode.checked, - function () {} + function () { } ); } else if (treeNode.class === "polygon") { de = { @@ -2272,7 +2275,7 @@ de, "0", treeNode.checked, - function () {} + function () { } ); } else if (treeNode.class === "model") { de = { @@ -2298,7 +2301,7 @@ de, "0", treeNode.checked, - function () {} + function () { } ); } layer && (treeNode.id = layer.treeobj.id); @@ -2412,7 +2415,7 @@ layer = sgworld.Creator.createS3MLayer( treeNode.urls, sgworld._Viewer.scene, - function () {} + function () { } ); break; case "gltf": @@ -2688,8 +2691,8 @@ let imgUrl; new Cesium.GeoJsonDataSource.load( treeNode.urls + - "?version=1.3.0&request=GetFeature&format=json&typename=" + - treeNode.layer + "?version=1.3.0&request=GetFeature&format=json&typename=" + + treeNode.layer ).then((dataSource) => { // that.$set(treeNode, "disabled", false); Viewer.dataSources.add(dataSource); @@ -3041,6 +3044,7 @@ background-image: url("~@/assets/img/new/treeClose-y.png"); } + .leftmenu { background-image: url("~@/assets/img/new/treeClose.png"); background-size: 100% 100%; @@ -3100,7 +3104,7 @@ background-color: rgba(255, 255, 255, 0.4) !important; } -.el-tree /deep/ .is-current > .el-tree-node__content { +.el-tree /deep/ .is-current>.el-tree-node__content { background-color: rgba(255, 255, 255, 0.4) !important; font-size: 14px; } diff --git a/src/components/map/history.vue b/src/components/map/history.vue index f5372ce..cbac062 100644 --- a/src/components/map/history.vue +++ b/src/components/map/history.vue @@ -34,12 +34,12 @@ initMap() { var l1 = new Tile({ source: new XYZ({ - url: "http://t3.tianditu.com/DataServer?T=cta_w&x={x}&y={y}&l={z}&tk=94a34772eb88317fcbf8428e10448561"// 娉ㄨ + url: layerData.config.olTdtSl + layerData.config.tdtToken }) }); var l2 = new Tile({ source: new XYZ({ - url: "http://t3.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=94a34772eb88317fcbf8428e10448561" // 琛屾斂鍖哄垝 + url: layerData.config.olTdtBZ + layerData.config.tdtToken }) }); window.map = new Map({ diff --git a/src/components/map/viewer.vue b/src/components/map/viewer.vue index b07f43c..b6ee453 100644 --- a/src/components/map/viewer.vue +++ b/src/components/map/viewer.vue @@ -44,6 +44,7 @@ import Bus from "@tools/Bus"; import mapViewer from "../../assets/js/Layer/mapViewer"; + let activeLi, nLayer, LWLayer; export default { name: "viewer", @@ -59,7 +60,7 @@ hb: "", jd: "", wd: "", - switchImage: sanwei, + switchImage: yingxiang, switchImagerLayer: false, size: "100%", scale: "1", @@ -99,14 +100,17 @@ window.sgworld = new SmartEarth.EarthCtrl( "sdkContainer", { - StaticFileBaseUrl: "../../../static/CimSDK/", + StaticFileBaseUrl: "../../../static/CimSDK/", // StaticFileBaseUrl: "../../../SW/static/CimSDK/", - // StaticFileBaseUrl: "../../../YZXNCS/static/CimSDK/", + // StaticFileBaseUrl: "../../../JSJKZHGS/static/CimSDK/", }, {}, {}, () => { + + this.TdtIMageLayer(); this.ArcgisImageryLayer(); + //鍏堥鍒颁害搴勮鏀垮尯 sgworld.Navigate.flyToPointsInterest({ destination: { @@ -132,6 +136,7 @@ // Viewer.scene.screenSpaceCameraController.enableCollisionDetection = false; Viewer.scene.globe.translucency.frontFaceAlpha = 0.5; Viewer.scene.globe.undergroundColor = undefined; + // Viewer.scene.screenSpaceCameraController.minimumZoomDistance =200; //寮�鍚紪杈戝苟鍚敤灞炴�у脊绐� sgworld.Creator.SimpleGraphic.setEdit(false, { editProp: false, @@ -199,6 +204,9 @@ that.initLayerOpen(); //娣诲姞榧犳爣鐐瑰嚮浜嬩欢 mapViewer.addClick(); + + + }); let size = this.detectZoom(); this.scale = (100 / size).toFixed(2); @@ -374,17 +382,44 @@ this.switchImagerLayer = !this.switchImagerLayer; }, ArcgisImageryLayer() { - sgworld.Creator.createArcGisImageryLayer( - "ARCGIS", - { - url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer", - enablePickFeatures: false, - }, - "0", - 1, - true, - "" - ); + // var layer= sgworld.Creator.createArcGisImageryLayer( + // "ARCGIS", + // { + // url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer", + // enablePickFeatures: false, + // }, + // "0", + // 1, + // true, + // "" + // ); + var layer = Viewer.imageryLayers.addImageryProvider(new Cesium.ArcGisMapServerImageryProvider({ + url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer", + + })) + layer.name = "ARCGIS" + }, + TdtIMageLayer() { + var layer = Viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({ + url: layerData.config.tdtSl + layerData.config.tdtToken, + layer: "tdtImgLayer", + style: "default", + format: "image/jpeg", + name: '澶╁湴鍥�', + tileMatrixSetID: "GoogleMapsCompatible", + })) + layer.name = "澶╁湴鍥�"; + layer.show= false; + var layer1 = Viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({ + url: layerData.config.tdtZj + layerData.config.tdtToken, + layer: "tdtAnnoLayer", + style: "default", + format: "image/jpeg", + name: '澶╁湴鍥�', + tileMatrixSetID: "GoogleMapsCompatible", + })) + layer1.name = "澶╁湴鍥�" + layer1.show= false; }, //鍒濆鍖栧脊绐椾簨浠� diff --git a/src/components/menu/menulist.vue b/src/components/menu/menulist.vue index dd349c2..cb0a19f 100644 --- a/src/components/menu/menulist.vue +++ b/src/components/menu/menulist.vue @@ -40,7 +40,14 @@ /> <span>妯″瀷</span> </div> - + <div class="menubtn" @click="setGridQuery()"> + <img class="bhImg" title="鏍肩綉" src="@/assets/img/right/cx-s.png" /> + <span>鏍肩綉</span> + </div> + <div class="menubtn" @click="setMenuQuery()"> + <img class="bhImg" title="鏌ヨ" src="@/assets/img/right/cx-s.png" /> + <span>鏌ヨ</span> + </div> <div class="menubtn" @click="setMenuTool(5)"> <img class="bhImg" title="鍒嗘瀽" src="@/assets/img/right/cx-s.png" /> <span>鍒嗘瀽</span> @@ -245,6 +252,7 @@ import zt from "@/assets/img/left/specialanalyse4.png"; import fx from "@/assets/img/right/cx-s.png"; import tx from "@/assets/img/left/leftnav2.png"; +import menuGrid from '@/assets/js/Layer/menuGrid' export default { name: "menulist", components: { @@ -298,6 +306,12 @@ showSceneCard(){ this.$store.commit("showSceneBox", ""); }, + setMenuQuery(){ + this.$store.commit("setMenuQuery",true) + }, + setGridQuery(){ + menuGrid.init(); + }, closeAllHighLight(type) { // !(type == "plotting") && this.$refs.plotting.clearHighLight(); // !(type == "roam") && this.$refs.roam.clearActive(); diff --git a/src/components/menu/tools/measure.vue b/src/components/menu/tools/measure.vue index a10b5b2..68b1007 100644 --- a/src/components/menu/tools/measure.vue +++ b/src/components/menu/tools/measure.vue @@ -2,65 +2,31 @@ <div class="measure" id="measure"> <div class="measureTools"> <div class="measureTool" @click="jl"> - <el-tooltip - class="item" - effect="dark" - content="璺濈" - placement="top-start" - popper-class="item_tooltip" - > + <el-tooltip class="item" effect="dark" content="璺濈" placement="top-start" popper-class="item_tooltip"> <el-button> <img src="@/assets/img/right/ls/jl1.png" /> </el-button> </el-tooltip> </div> <div class="measureTool" @click="bmjl"> - <el-tooltip - class="item" - effect="dark" - content="琛ㄩ潰璺濈" - placement="top-start" - popper-class="item_tooltip" - > + <el-tooltip class="item" effect="dark" content="琛ㄩ潰璺濈" placement="top-start" popper-class="item_tooltip"> <el-button> - <img src="@/assets/img/right/ls/bmjl1.png" /> </el-button - ></el-tooltip> + <img src="@/assets/img/right/ls/bmjl1.png" /> </el-button></el-tooltip> </div> <div class="measureTool" @click="mj"> - <el-tooltip - class="item" - effect="dark" - content="闈㈢Н" - placement="top-start" - popper-class="item_tooltip" - > + <el-tooltip class="item" effect="dark" content="闈㈢Н" placement="top-start" popper-class="item_tooltip"> <el-button> - <img src="@/assets/img/right/ls/mj1.png" /> </el-button - ></el-tooltip> + <img src="@/assets/img/right/ls/mj1.png" /> </el-button></el-tooltip> </div> <div class="measureTool" @click="bmmj"> - <el-tooltip - class="item" - effect="dark" - content="琛ㄩ潰闈㈢Н" - placement="top-start" - popper-class="item_tooltip" - > + <el-tooltip class="item" effect="dark" content="琛ㄩ潰闈㈢Н" placement="top-start" popper-class="item_tooltip"> <el-button> - <img src="@/assets/img/right/ls/bmmj1.png" /> </el-button - ></el-tooltip> + <img src="@/assets/img/right/ls/bmmj1.png" /> </el-button></el-tooltip> </div> <div class="measureTool" @click="height"> - <el-tooltip - class="item" - effect="dark" - content="鍨傜洿楂樺害" - placement="top-start" - popper-class="item_tooltip" - > + <el-tooltip class="item" effect="dark" content="鍨傜洿楂樺害" placement="top-start" popper-class="item_tooltip"> <el-button> - <img src="@/assets/img/right/ls/gd1.png" /> </el-button - ></el-tooltip> + <img src="@/assets/img/right/ls/gd1.png" /> </el-button></el-tooltip> </div> <!-- <div :class="isOpen['tj'] ? 'measureTool active' : 'measureTool'" @@ -71,29 +37,15 @@ <label>浣撶Н</label> </el-button> </div> --> - <!-- <div class="measureTool" @click="jd"> - <el-tooltip - class="item" - effect="dark" - content="瑙掑害" - placement="top-start" - popper-class="item_tooltip" - > + <div class="measureTool" @click="zb"> + <el-tooltip class="item" effect="dark" content="鍧愭爣" placement="top-start" popper-class="item_tooltip"> <el-button> - <img src="@/assets/img/right/ls/jd1.png" /> </el-button - ></el-tooltip> - </div> --> + <img src="@/assets/img/right/ls/jd1.png" /> </el-button></el-tooltip> + </div> <div class="measureTool" @click="clearMeasure"> - <el-tooltip - class="item" - effect="dark" - content="娓呴櫎" - placement="top-start" - popper-class="item_tooltip" - > + <el-tooltip class="item" effect="dark" content="娓呴櫎" placement="top-start" popper-class="item_tooltip"> <el-button> - <img src="@/assets/img/right/ls/qc-s.png" /> </el-button - ></el-tooltip> + <img src="@/assets/img/right/ls/qc-s.png" /> </el-button></el-tooltip> </div> </div> </div> @@ -105,10 +57,12 @@ width: 111%; margin-left: -15px; } + .el-button:focus, .el-button:hover { background: transparent; } + .measure { position: absolute; left: 65px; @@ -117,12 +71,14 @@ /* border-radius: 30px; */ box-shadow: 0px 0px 10px rgba(101, 180, 253, 0.8) inset; background-color: rgba(5, 39, 126, 0.7); - width: 350px; + width: 410px; } + .measureTools { margin-left: 20px; overflow: hidden; } + .measureTool { border: 1px solid #999; border-radius: 5px; @@ -131,9 +87,11 @@ height: 40px; margin: 5px; } -.measureTool img{ - margin: 4px; + +.measureTool img { + margin: 4px; } + .measureTools::-webkit-scrollbar { /*婊氬姩鏉℃暣浣撴牱寮�*/ width: 5px; @@ -158,6 +116,7 @@ border-radius: 0; background: rgba(218, 218, 218, 0.1); } + .measureTool:hover { background: rgba(0, 168, 255, 0.16); } @@ -165,9 +124,11 @@ .tool-title { margin: 1px 10px; } + .tool-title label { vertical-align: top; } + .measure label { margin-left: 10px; font-size: 17px; @@ -176,6 +137,7 @@ /* color: #3d3d3d; */ color: white; } + .el-button { padding: 0 !important; font-size: 24px; @@ -184,14 +146,17 @@ display: block; background: rgba(0, 0, 0, 0); } + .el-button label { font-size: 14px; } + .closeTool { position: absolute; bottom: 0; left: 0; } + .active { background: rgba(0, 168, 255, 0.16); } @@ -222,7 +187,7 @@ } }; }, - mounted() {}, + mounted() { }, methods: { // 娓呴櫎楂樹寒 clearActive() { @@ -239,6 +204,11 @@ this.$parent.isShowMeasure = false; this.$parent.isShow = false; }, + + + zb(){ + this.$store.state.isMeasureFlag= true; + }, //娓呴櫎娴嬮噺 clearMeasure() { // 鍏抽棴褰撳墠鐨勬搷浣滅晫闈� @@ -247,7 +217,9 @@ item.deleteObject(); }); measureData = []; - + this.$store.state.isShowMeasureCoord = false + this.$store.state.isMeasureFlag = false + this.$store.state.measureCoordObj = false volumetricMeasurementTool && volumetricMeasurementTool.cleanUp(); }, // 璺濈閲忕畻 @@ -267,7 +239,7 @@ layuiLayer.close(SmartEarthPopupData.layerProp); sgworld.drawObj && (sgworld.drawObj.drawHandler && sgworld.drawObj.drawHandler.destroy(), - sgworld.drawObj.end && sgworld.drawObj.end()); + sgworld.drawObj.end && sgworld.drawObj.end()); // 鏍规嵁褰撳墠鐨勯珮浜姸鎬侊紝鍐冲畾褰撳墠鎿嶄綔鏄惁瑕佹樉绀洪珮浜� this.isOpen["jl"] = true; @@ -279,7 +251,7 @@ measureData.push(m); }, // 琛ㄩ潰璺濈 - bmjl: function() { + bmjl: function () { this.$parent.closeAllHighLight("measure"); if (this.isOpen["bmjl"]) { this.isOpen["bmjl"] = false; @@ -295,7 +267,7 @@ layuiLayer.close(SmartEarthPopupData.layerProp); sgworld.drawObj && (sgworld.drawObj.drawHandler && sgworld.drawObj.drawHandler.destroy(), - sgworld.drawObj.end && sgworld.drawObj.end()); + sgworld.drawObj.end && sgworld.drawObj.end()); this.isOpen["bmjl"] = true; @@ -307,7 +279,7 @@ measureData.push(m); }, // 琛ㄩ潰闈㈢Н - bmmj: function() { + bmmj: function () { this.$parent.closeAllHighLight("measure"); if (this.isOpen["bmmj"]) { this.isOpen["bmmj"] = false; @@ -323,7 +295,7 @@ layuiLayer.close(SmartEarthPopupData.layerProp); sgworld.drawObj && (sgworld.drawObj.drawHandler && sgworld.drawObj.drawHandler.destroy(), - sgworld.drawObj.end && sgworld.drawObj.end()); + sgworld.drawObj.end && sgworld.drawObj.end()); this.isOpen["bmmj"] = true; let m = sgworld.Command.execute(0, 8, colorAll, () => { @@ -334,7 +306,7 @@ measureData.push(m); }, // 闈㈢Н - mj: function() { + mj: function () { this.$parent.closeAllHighLight("measure"); if (this.isOpen["mj"]) { this.isOpen["mj"] = false; @@ -350,7 +322,7 @@ layuiLayer.close(SmartEarthPopupData.layerProp); sgworld.drawObj && (sgworld.drawObj.drawHandler && sgworld.drawObj.drawHandler.destroy(), - sgworld.drawObj.end && sgworld.drawObj.end()); + sgworld.drawObj.end && sgworld.drawObj.end()); this.isOpen["mj"] = true; @@ -378,7 +350,7 @@ layuiLayer.close(SmartEarthPopupData.layerProp); sgworld.drawObj && (sgworld.drawObj.drawHandler && sgworld.drawObj.drawHandler.destroy(), - sgworld.drawObj.end && sgworld.drawObj.end()); + sgworld.drawObj.end && sgworld.drawObj.end()); this.isOpen["jd"] = true; @@ -405,7 +377,7 @@ layuiLayer.close(SmartEarthPopupData.layerProp); sgworld.drawObj && (sgworld.drawObj.drawHandler && sgworld.drawObj.drawHandler.destroy(), - sgworld.drawObj.end && sgworld.drawObj.end()); + sgworld.drawObj.end && sgworld.drawObj.end()); this.isOpen["czgd"] = true; @@ -433,7 +405,7 @@ layuiLayer.close(SmartEarthPopupData.layerProp); sgworld.drawObj && (sgworld.drawObj.drawHandler && sgworld.drawObj.drawHandler.destroy(), - sgworld.drawObj.end && sgworld.drawObj.end()); + sgworld.drawObj.end && sgworld.drawObj.end()); this.isOpen["tj"] = true; @@ -446,7 +418,7 @@ sgworld.drawObj = volumetricMeasurementTool.startDrawing( null, spacing, - function(data) { + function (data) { callback && typeof callback === "function" && callback({ height: data.minHeight, spacing: data.spacing }); diff --git a/src/components/menu/tools/plotting.vue b/src/components/menu/tools/plotting.vue index 5ef1a2d..9834e3d 100644 --- a/src/components/menu/tools/plotting.vue +++ b/src/components/menu/tools/plotting.vue @@ -86,7 +86,7 @@ </el-button> </el-tooltip> </div> - <div + <!-- <div class="plottingTool" @click="plotting('circle')" > @@ -101,7 +101,7 @@ <img src="@/assets/img/right/bh/d1.png" /> </el-button> </el-tooltip> - </div> + </div> --> <!-- <div class="plottingTool" @click="militaryPlotting('Sector', 'polygon')"> <el-tooltip class="item" @@ -116,7 +116,7 @@ </el-tooltip> </div> --> - <div + <!-- <div class="plottingTool" @click="plotting('cylinder')" > @@ -167,7 +167,7 @@ popper-class="item_tooltip" > <el-button> <img src="@/assets/img/right/bh/dbt1.png" /> </el-button></el-tooltip> - </div> + </div> --> </div> </div> </template> @@ -194,7 +194,7 @@ /* border-radius: 30px; */ box-shadow: 0px 0px 10px rgba(101, 180, 253, 0.8) inset; background-color: rgba(5, 39, 126, 0.7); - width: 560px; + width: 300px; } .plottingList { background: transparent; diff --git a/src/components/menu/tools/roam.vue b/src/components/menu/tools/roam.vue index 696cb47..bebf015 100644 --- a/src/components/menu/tools/roam.vue +++ b/src/components/menu/tools/roam.vue @@ -33,7 +33,7 @@ > <el-button> <img src="@/assets/img/left/tx/kjbj.png" /> </el-button ></el-tooltip> - </div> --> + </div> <div class="roamTool" @click="setRomanFly('鏍稿績鍖烘极娓�')"> <el-tooltip class="item" @@ -66,7 +66,7 @@ > <el-button> <img src="@/assets/img/left/tx/ll.png" /> </el-button ></el-tooltip> - </div> + </div>--> </div> </div> </template> @@ -84,7 +84,7 @@ /* border-radius: 30px; */ box-shadow: 0px 0px 10px rgba(101, 180, 253, 0.8) inset; background-color: rgba(5, 39, 126, 0.7); - width: 300px; + width: 150px; } .roamTools { margin-left: 20px; diff --git a/src/components/menu/tools/special copy.vue b/src/components/menu/tools/special copy.vue new file mode 100644 index 0000000..53e8e52 --- /dev/null +++ b/src/components/menu/tools/special copy.vue @@ -0,0 +1,1247 @@ +<template> + <div class="special" id="special"> + <div class="specialTools"> + <div class="specialTool" @click="tdglHandle"> + <el-tooltip + class="item" + effect="dark" + content="鍦熷湴绠$悊" + placement="top-start" + popper-class="item_tooltip" + > + <el-button> + <img src="@/assets/img/left/ztfx/tdgl.png" /> + </el-button> + </el-tooltip> + </div> + <div class="specialTool" @click="stdsj"> + <el-tooltip + class="item" + effect="dark" + content="瑙嗗浘澶ф暟鎹钩鍙�" + placement="top-start" + popper-class="item_tooltip" + > + <el-button> + <img src="@/assets/img/left/ztfx/dashuju.png" /> + </el-button> + </el-tooltip> + </div> + <div class="specialTool" @click="spjkHandle"> + <el-tooltip + class="item" + effect="dark" + content="瑙嗛鐩戞帶" + placement="top-start" + popper-class="item_tooltip" + > + <el-button> + <img src="@/assets/img/left/ztfx/spjk.png" /> + </el-button> + </el-tooltip> + </div> + <div class="specialTool" @click="jjHandle"> + <el-tooltip + class="item" + effect="dark" + content="琛楁櫙" + placement="top-start" + popper-class="item_tooltip" + > + <el-button> + <img src="@/assets/img/left/ztfx/jiejing.png" /> + </el-button> + </el-tooltip> + </div> + + <div class="specialTool" @click="qytj"> + <el-tooltip + class="item" + effect="dark" + content="鏁版嵁姹囪仛" + placement="top-start" + popper-class="item_tooltip" + > + <el-button> <img src="@/assets/img/left/ztfx/yqfk.png" /> </el-button + ></el-tooltip> + </div> + <div class="specialTool" @click="rangeQuery()"> + <el-tooltip + class="item" + effect="dark" + content="鑼冨洿鏌ヨ" + placement="top-start" + popper-class="item_tooltip" + > + <el-button> <img src="@/assets/img/left/ztfx/sjxq.png" /> </el-button + ></el-tooltip> + </div> + <!-- <div class="specialTool" @click="guanxian(openGX)"> + <el-tooltip + class="item" + effect="dark" + content="鍦颁笅绠$嚎" + placement="top-start" + popper-class="item_tooltip" + > + <el-button> <img src="@/assets/img/left/ztfx/spl.png" /> </el-button + ></el-tooltip> + </div> --> + <!-- <div class="specialTool" @click="sceneRoaming"> + <el-tooltip + class="item" + effect="dark" + content="鍦烘櫙婕父" + placement="top-start" + popper-class="item_tooltip" + > + <el-button> + <img src="@/assets/img/left/ztfx/rkqxksh.png" /> </el-button + ></el-tooltip> + </div> --> + + <!-- <div class="specialTool" @click="shipinronghe(videoList)"> + <el-tooltip + class="item" + effect="dark" + content="瑙嗛铻嶅悎" + placement="top-start" + popper-class="item_tooltip" + > + <el-button> <img src="@/assets/img/left/ztfx/spl.png" /> </el-button + ></el-tooltip> + </div> --> + </div> + </div> +</template> + +<style scoped> +hr { + margin: 10px 0; + width: 111%; + margin-left: -15px; +} + +.el-button:focus, +.el-button:hover { + background: transparent; +} + +.special { + position: absolute; + left: 65px; + bottom: 6px; + height: 50px; + /* border-radius: 30px; */ + box-shadow: 0px 0px 7px rgba(76, 165, 248, 0.8) inset; + background-color: rgba(14, 50, 143, 0.5); + width: 350px; +} + +.specialTools { + margin-left: 20px; +} + +.specialTool { + border: 1px solid #999; + border-radius: 5px; + float: left; + width: 40px; + height: 40px; + margin: 5px; +} + +.specialTool img { + margin: 4px; +} + +.specialTools::-webkit-scrollbar { + /*婊氬姩鏉℃暣浣撴牱寮�*/ + width: 5px; + /*楂樺鍒嗗埆瀵瑰簲妯珫婊氬姩鏉$殑灏哄*/ + height: 8px; + scrollbar-arrow-color: red; +} + +/* 婊氬姩鏉� */ +.specialTools::-webkit-scrollbar-thumb { + border-radius: 5px; + -webkit-box-shadow: inset 0 0 5px rgba(218, 218, 218, 0.2); + box-shadow: inset 0 0 5px rgba(218, 218, 218, 0.2); + background: rgba(218, 218, 218, 0.5); + scrollbar-arrow-color: red; +} + +/* 婊氬姩妲� */ +.specialTools::-webkit-scrollbar-track { + -webkit-box-shadow: inset 0 0 5px rgba(218, 218, 218, 0.2); + box-shadow: inset 0 0 5px rgba(218, 218, 218, 0.2); + border-radius: 0; + background: rgba(218, 218, 218, 0.1); +} + +.specialTool:hover { + background: rgba(0, 168, 255, 0.16); +} + +.tool-title { + margin: 1px 10px; +} + +.tool-title label { + vertical-align: top; +} + +.special label { + margin-left: 10px; + font-size: 17px; + font-family: Microsoft YaHei; + font-weight: 400; + /* color: #3d3d3d; */ + color: white; +} + +.el-button { + padding: 0 !important; + font-size: 24px; + border: unset; + float: unset; + display: block; + background: rgba(0, 0, 0, 0); +} + +.el-button label { + font-size: 14px; +} + +.closeTool { + position: absolute; + bottom: 0; + left: 0; +} + +.active { + background: rgba(0, 168, 255, 0.16); +} +</style> +<style> +#pointInfoBox { + /* width: 350px; */ + padding: 20px; + text-align: left; + background-image: url("~@/assets/img/new/listbg.png"); + /* border: 5px #08235f solid; */ + /* border-radius: 7px; */ + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.5); + color: #fff; +} +</style> +<script> +import axios from "axios"; +import { mapState, mapMutations } from "vuex"; +import Bus from "../../tools/Bus"; +import { roman } from "../../../assets/json/index.js"; +import URLInCode from "@/assets/js/urlInCode"; +import keyName from "@/utils/poiKeys"; +import LayerField from "../../../../static/NameConf"; +let handler; +let tooltipHTML; +window.divPoint1 = null; +window.pickFeature = null; +window.imgUrl = null; +window.scale = null; +let buildingPolygon; +let tooltip; +let lineArr = []; +let video; +let promiseS3M; +//浜ら�氬浘灞� +let panoramaLayer; +export default { + name: "special", + data() { + return { + openGX: "open", + showPointInfo: true, + romanOption: [ + { name: "鏍稿績鍖�" }, + { name: "鏅缁垮湴" }, + { name: "鏀垮姟鏈嶅姟" }, + ], + showFlag: false, + showQYTJ: false, + videoList: [ + { + name: "video2", + lon: 116.51507, + lat: 39.79686, + height: 40, + // 鍥涘懆鏂瑰悜 + heading: 305, + // 淇话瑙掑害 + pitch: -41, + // 姘村钩瑙掑害 + horizonAngle: 68, + // 鍨傜洿瑙掑害 + verticalAngle: 103, + // 閫忔槑搴� + alpha: 1, + // 閫忔槑搴� + far: 3000, + cameraIndexCode: "2b046ef675704975a8d45f1b00cd946b", + }, + // { + // name: "video3", + // lon: 116.5146339, + // lat: 39.7967196, + // height: 60, + // // 鍥涘懆鏂瑰悜 + // heading: 62, + // // 淇话瑙掑害 + // pitch: -43, + // // 姘村钩瑙掑害 + // horizonAngle: 45, + // // 鍨傜洿瑙掑害 + // verticalAngle: 64, + // // 閫忔槑搴� + // alpha: 1, + // // 閫忔槑搴� + // far: 166, + // cameraIndexCode: "a0ffb1dedde7468187d0b0f91d431475", + // }, + // { + // name: "video4", + // lon: 116.51496, + // lat: 39.796854, + // height: 60, + // // 鍥涘懆鏂瑰悜 + // heading: 148, + // // 淇话瑙掑害 + // pitch: -39, + // // 姘村钩瑙掑害 + // horizonAngle: 40, + // // 鍨傜洿瑙掑害 + // verticalAngle: 58, + // // 閫忔槑搴� + // alpha: 1, + // // 閫忔槑搴� + // far: 219, + // cameraIndexCode: "e6ec9aaf9320455ab6c5ea224f3f5f38", + // }, + // { + // name: "video1", + // lon: 116.51522, + // lat: 39.79724, + // height: 60, + // // 鍥涘懆鏂瑰悜 + // heading: 64, + // // 淇话瑙掑害 + // pitch: -47, + // // 姘村钩瑙掑害 + // horizonAngle: 30, + // // 鍨傜洿瑙掑害 + // verticalAngle: 60, + // // 閫忔槑搴� + // alpha: 1, + // // 閫忔槑搴� + // far: 166, + // cameraIndexCode: "1523335e47a5476f9f65f90f9983e875", + // }, + ], + // 鍥涘懆鏂瑰悜 + heading: 64, + // 淇话瑙掑害 + pitch: -47, + // 姘村钩瑙掑害 + horizonAngle: 30, + // 鍨傜洿瑙掑害 + verticalAngle: 60, + // 閫忔槑搴� + alpha: 1, + // 閫忔槑搴� + far: 166, + videoarrList: [], + }; + }, + computed: { + ...mapState(["viewer1Show", "yqfk", "cesiumInit"]), + ...mapState(["viewer1Show", "yqfk", "qyEchartsShow"]), + }, + mounted() {}, + watch: { + cesiumInit: { + handler(newVal, oldVal) { + if (newVal) { + if ( + window._showPointInfo === undefined || + window._showPointInfo === true + ) { + this.showPointInfo = true; + setTimeout(() => { + this.setCesuimHandle(); + }, 1000); + } else if (window._showPointInfo === false) { + this.showPointInfo = false; + } + } + }, + deep: true, + immediate: true, + }, + }, + methods: { + // ...mapMutations(["setViewer1Show", "setYqfk"]), + ...mapMutations(["setViewer1Show", "setqyEchartsShow"]), + spjkLoad() { + window.sxtkGeojson = new SmartEarth.ClusterLayer(sgworld.Viewer, { + pixelRange: 30, + gradient: { + 0.0001: "rgb(0,191,255)", + 0.001: "rgb(0,128,0)", + 0.01: "rgb(255,165,0)", + 0.1: "rgb(255,0,0)", + }, + style: "clustering", + }); + + window.sxtkGeojson.dataSource.clustering.minimumClusterSize = 5; + // let url = window.sessionStorage.getItem("sxtGeojsonUrl"); + let url; + axios + .get(url) + .then((data) => { + // console.log(data); + let features = data.data.features; + features.forEach((feature) => { + let geom = feature.geometry.coordinates; + let properties = feature.properties; + let point = new SmartEarth.Degrees(geom[0], geom[1]); + // let item = { + // lon + // }; + + let entitie = window.sxtkGeojson.add(point, { + image: SmartEarthRootUrl + "Workers/image/sxt.png", + }); + entitie.properties = properties; + entitie.tag = "sxt"; + }); + + sgworld.Navigate.flyToObj(window.sxtkGeojson.dataSource); + window.sxthandler = new Cesium.ScreenSpaceEventHandler( + sgworld.Viewer.scene.canvas + ); + window.sxthandler.setInputAction((event) => { + let pick = sgworld.Viewer.scene.pick(event.position); + if (pick && pick.id && pick.id.tag == "sxt") { + //鍏抽棴鍦板潡淇℃伅寮圭獥 + Bus.$emit("closeLandInfoPop", true); + //缁撴潫涔嬪墠鎿嶄綔 + layuiLayer.close(SmartEarthPopupData.layerProp); + + sgworld.drawObj && + (sgworld.drawObj.drawHandler && + sgworld.drawObj.drawHandler.destroy(), + sgworld.drawObj.end && sgworld.drawObj.end()); + + let props = pick.id.properties; + let screenHeight = + document.body.clientHeight || + document.documentElement.clientHeigh; + let offsetTop = screenHeight - 385; + offsetTop = offsetTop < 0 ? 0 : offsetTop; + + offsetTop = offsetTop > 100 ? offsetTop - 100 : offsetTop; + // console.log(props.installPla._value) + layerOpen(props.name._value, { + width: 470, + height: 385, + offset: [offsetTop + "px", "310px"], + url: + "./static/html/video/video.html?code=" + + props.cameraInde._value, + fn: { + success: (layero, index) => { + SmartEarthPopupData.layerContainer = layero; + }, + end: () => { + // this.isOpen.ymfx = false; + }, + cancel: () => { + sgworld.drawObj && + sgworld.drawObj.end && + sgworld.drawObj.end("cancel"); + }, + }, + }); + } + }, Cesium.ScreenSpaceEventType.LEFT_CLICK); + }) + .catch((err) => { + console.log(err); + }); + }, + spjkHandle() { + if (window.sxtkGeojson) { + window.sxtkGeojson.deleteObject(); + window.sxtkGeojson = null; + window.sxthandler.destroy(); + //鍏抽棴寮圭獥 + Bus.$emit("closeRightPop", true); + layuiLayer.close(SmartEarthPopupData.layerProp); + return; + } else { + Bus.$emit("showSPJK"); + // this.spjkLoad(); + } + }, + yqfkHandle() { + this.setYqfk(!this.yqfk); + }, + rangeQuery() { + Bus.$emit("showRangeBox", true); + }, + tdglHandle() { + this.setViewer1Show(!this.viewer1Show); + }, + jjHandle() { + if (!window.panoramaHandler) { + //鍏抽棴鑿滃崟寮圭獥 + Bus.$emit("closeMenuPop", true); + var urls = URLInCode.jjLWUrl; + // var urls = "http://10.10.4.121:8070/gisserver/wmsserver/YZ_LW"; + window.panoramaLayer = sgworld.Creator.CreateWMSImageFeatureLayer( + "gisserver", + { + url: urls, + queryParameters: { + layers: "", + }, + }, + {}, + "0", + true, + function () {} + ); + window.panoramaHandler = new Cesium.ScreenSpaceEventHandler( + Viewer.scene.canvas + ); + window.panoramaHandler.setInputAction((event) => { + let p; + p = sgworld.Navigate.getMouseDegrees(event); + let panorama = new yzPanorama(); + panorama.open({ + id: "qjMap", + closeId: "panoramaClose", + lon: p.lon, + lat: p.lat, + }); + + // let StreetUrl = "http://10.10.4.116:8085/yzAdapter/"; + // let _StreetscapeYZ = new StreetscapeYZ(sgworld, { + // StreetUrl: StreetUrl, + // lon: p.lon, + // lat: p.lat + // }); + }, Cesium.ScreenSpaceEventType.LEFT_CLICK); + } else { + try { + window.panoramaLayer.deleteObject(); + } catch (e) {} + window.panoramaHandler.destroy(); + window.panoramaHandler = undefined; + } + }, + sjxqHandle() { + window._showPointInfo = this.showPointInfo; + + switch (this.showPointInfo) { + case true: + this.setCesuimHandle(); + break; + case false: + if (divPoint1) { + sgworld.Creator.DeleteObject(divPoint1); + } + if (handler) { + handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); + } + break; + } + }, + clearSelectObject() { + if (window.pickFeature && window.pickFeature.primitive) { + window.pickFeature.primitive.image = imgUrl; + window.pickFeature.primitive.scale = scale; + window.pickFeature = null; + } + }, + setCesuimHandle() { + var that = this; + + Bus.$on("clearSelectObject", this.clearSelectObject); + handler && handler.destroy(); + handler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas); + handler.setInputAction((event) => { + let nPickFeature = sgworld.Viewer.scene.pick(event.position); + + if (Cesium.defined(nPickFeature)) { + this.resetImg(); + if (buildingPolygon) { + sgworld.Creator.DeleteObject(buildingPolygon); + buildingPolygon = null; + } + if (nPickFeature.primitive instanceof Cesium.Billboard) { + if (nPickFeature.id.length > 0) { + return; + } + // this.resetBorder(); + window.pickFeature = nPickFeature; + // console.log(nPickFeature); + imgUrl = nPickFeature.primitive.image; + scale = nPickFeature.primitive.scale; + nPickFeature.primitive.image = + window.SmartEarthRootUrl + "Workers/image/point.png"; + nPickFeature.primitive.scale = 1; + //鐐瑰嚮寮规 + let obj = {}; + let lon; + let lat; + let isCamera = false; + if (nPickFeature.id.tag) { + let properties = nPickFeature.id.properties; + let propertyNames = nPickFeature.id.properties.propertyNames; + if (propertyNames.indexOf("鐩戞帶鍚�") !== -1) { + isCamera = true; + obj["JK鍚嶇О"] = properties["JK鍚嶇О"]._value; + // obj["JK绫诲瀷"] = properties["JK绫诲瀷"]._value; + // obj["鍔熻兘"] = properties["鍔熻兘"]._value; + // obj["鎵�鍦ㄥ尯"] = properties["鎵�鍦ㄥ尯"]._value; + // obj["JK缂栧彿"] = properties["JK缂栧彿"]._value; + obj["JK鍐呯爜"] = properties["JK鍐呯爜"]._value; + } else { + propertyNames.forEach((item) => { + obj[item] = properties[item]._value; + }); + } + + let cartographic = + window.Viewer.scene.globe.ellipsoid.cartesianToCartographic( + nPickFeature.id.position._value + ); + lon = Cesium.Math.toDegrees(cartographic.longitude); + lat = Cesium.Math.toDegrees(cartographic.latitude); + } else { + obj = nPickFeature.id.attributes; + lon = nPickFeature.id.positions[0]; + lat = nPickFeature.id.positions[1]; + } + if (divPoint1) { + divPoint1.deleteObject(); + } + if (!isCamera) { + tooltipHTML = ""; + //閲嶇疆LayerField鏁版嵁 + for (let item in LayerField) { + LayerField[item] = 0; + } + // 鍒犻櫎瀛楁 + let { OBJECTID, ID, BZDZ, Latitude, Longtitude, ...userData } = + obj; + + // 鍒ゆ柇灞曠ず鐨勭被鍨� + if ( + userData.hasOwnProperty("閮ㄤ欢鍚嶇О") || + userData.hasOwnProperty("浜曠紪鍙�") + ) { + //淇敼LayerField鏁版嵁 + for (let itemName in userData) { + let CnName = keyName[itemName] || itemName; + if (LayerField.hasOwnProperty(CnName)) { + LayerField[CnName] = userData[itemName]; + if (CnName == "缁忓害" || CnName == "绾害") { + let str = Number(LayerField[CnName]); + LayerField[CnName] = str.toFixed(6); + } + } + } + // 灞曠ずLayerField鏁版嵁 + for (let item in LayerField) { + let value = LayerField[item]; + value && (tooltipHTML += `<p>${item}锛�${value || "鏃�"}</p>`); + } + } else { + // 鐩存帴灞曠ず + for (let itemName in userData) { + let value = userData[itemName]; + let CnName = keyName[itemName] || itemName; + value && + (tooltipHTML += `<p>${CnName}锛�${value || "鏃�"}</p>`); + console.log(tooltipHTML); + } + } + + let description = ` + <div id="pointInfoBox" class="pointInfoBox" style="pointer-events:auto;"> + <span style="position: absolute; right: 12px; top: 6px;">脳</span> + ${tooltipHTML} + </div> + `; + divPoint1 = sgworld.Creator.createDivPoint( + "璇︾粏淇℃伅", + { + lon: lon, + lat: lat, + height: 50, + }, + { + type: "custom", + offset: ["c", 50], + description, + onclick(data) { + // sgworld.Creator.DeleteObject(divPoint1); + divPoint1 && divPoint1.deleteObject(); + if (window.pickFeature && window.pickFeature.primitive) { + window.pickFeature.primitive.image = imgUrl; + window.pickFeature.primitive.scale = scale; + window.pickFeature = null; + } + }, + } + ); + // if (tooltip) { + // tooltip.show(false); + // tooltip = null; + // } + // tooltip = sgworld.Core.CreateResultTooltip(window.Viewer, { + // color: "black", + // addY: -40, + // far: 200000, + // closeBtn: true, + // close: () => { + // this.resetImg(); + // }, + // }); + + // let description = `<div style='background: + // rgba(14, 50, 143, 0.6); + // border: 1px solid #205fbc; + // border-radius: 5px; + // color: #fff; + // padding: 15px; + // box-shadow: 0px 1px 10px 0px rgba(3, 10, 26, 0.38); + // '>${tooltipHTML}</div>`; + + // tooltip.showAt( + // Cesium.Cartesian3.fromDegrees(lon, lat, 0), + // description + // ); + } + //鍏抽棴鍦板潡淇℃伅寮圭獥 + Bus.$emit("closeLandInfoPop", true); + layuiLayer.close(SmartEarthPopupData.layerProp); + this.$store.commit("description", obj); + } else if (nPickFeature.primitive instanceof Cesium.Cesium3DTileset) { + // let cartographic = + // window.Viewer.scene.globe.ellipsoid.cartesianToCartographic( + // nPickFeature.content.tile.boundingSphere.center + // ); + // let lon = Cesium.Math.toDegrees(cartographic.longitude); + // let lat = Cesium.Math.toDegrees(cartographic.latitude); + let p = sgworld.Navigate.getMouseDegrees(event); + let lon = p.lon; + let lat = p.lat; + + axios + .get( + "http://10.10.4.121:8070/gisserver/wfsserver/yizhuang-building-wfs-1207", + { + params: { + version: "1.3.0", + request: "GetFeature", + typename: `浜﹀簞寤虹瓚澶栬疆寤�4326`, + propertyname: "*", + format: "json", + filter: `<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"><ogc:Intersects><ogc:PropertyName>SAHEP</ogc:PropertyName><gml:Point > <gml:pos>${lon} ${lat}</gml:pos></gml:Point></ogc:Intersects></ogc:Filter>`, + }, + } + ) + .then((response) => { + if (response.data.features.length > 0) { + var geometry = []; + let POIs = response.data.features[0].geometry.coordinates[0]; + for (let i = 0; i < POIs.length; i++) { + geometry.push({ + x: parseFloat(POIs[i][0]), + y: parseFloat(POIs[i][1]), + z: 0, + }); + } + buildingPolygon = sgworld.Creator.createPolygon( + geometry, + { + fillColor: "#00ff0050", + outlineColor: "#ff0000", + outlineWidth: 2, + }, + 1, + 0, + "闈�" + ); + } + }); + } + // else if (nPickFeature.primitive instanceof Cesium.GroundPrimitive) { + // let wmsLayer = this.$store.state.selectedLayers.filter((item) => { + // return item.name == "琛屾斂鍖哄垝鍥�"; + // }); + // if (wmsLayer[0]) { + // let p = sgworld.Navigate.getMouseDegrees(event); + + // axios + // .get( + // "http://10.10.4.116:8070/gisserver/rest/services/XingZhengQuHuaTu/MapServer/identify", + // { + // params: { + // geometry: `${p.lon},${p.lat}`, + // geometryType: "esriGeometryPoint", + // layers: "all", + // tolerance: 1, + // mapExtent: + // "116.389809720644,39.586819997000134,116.72107119373061,39.859910895000155", + // imageDisplay: "600,550,96", + // returnGeometry: true, + // }, + // } + // ) + // .then((res) => { + // if (res.data.results.length != 0) { + // this.resetImg(); + // this.resetBorder(); + // let area = res.data.results.filter( + // (item) => item.geometry.rings != undefined + // ); + // let poi = area[0].geometry.rings; + // poi.forEach((ring) => { + // ring.forEach((item, index, arr) => { + // arr[index] = { + // x: parseFloat(item[0]), + // y: parseFloat(item[1]), + // z: 0, + // }; + // }); + // }); + // poi.forEach((item, index) => { + // lineArr[index] = sgworld.Creator.createWall( + // `鏂板缓澧�${index}`, + // item, + // { + // minHeight: 0, + // maxHeight: 200, + // fill: true, + // material: Cesium.Color.YELLOW, + // outline: true, + // outlineColor: Cesium.Color.YELLOW, + // outlineWidth: 1.0, + // } + // ); + // }); + // tooltipHTML = ""; + // for (let i in area[0].attributes) { + // let value = area[0].attributes[i]; + // value && (tooltipHTML += `<p>${i}锛�${value || "鏃�"}</p>`); + // } + + // if (tooltip) { + // tooltip.show(false); + // tooltip = null; + // } + // tooltip = sgworld.Core.CreateResultTooltip(window.Viewer, { + // color: "black", + // addY: 0, + // far: 200000, + // closeBtn: true, + // close: () => { + // this.resetImg(); + // this.resetBorder(); + // }, + // }); + // let description = `<div style=' border: 1px solid #fff;border-radius: 5px;background: rgba(0, 0, 0, 0.8);color: #fff;padding: 15px;'>${tooltipHTML}</div>`; + // tooltip.showAt( + // Cesium.Cartesian3.fromDegrees(p.lon, p.lat, 0), + // description + // ); + // } + // }); + // } + // } + } + }, Cesium.ScreenSpaceEventType.LEFT_CLICK); + }, + stdsj() { + window.open( + "http://10.9.2.29:8080/#/login?token=1ed14c5157acb8088efe65bc93a032c3" + ); + }, + closeJm() { + this.$parent.$parent.$parent.isShowSpeAnalyse = false; + }, + resetImg() { + if (window.pickFeature && window.pickFeature.primitive) { + window.pickFeature.primitive.image = imgUrl; + window.pickFeature.primitive.scale = scale; + window.pickFeature = null; + } + }, + // resetBorder() { + // lineArr.forEach((item, index) => { + // if (lineArr[index]) { + // sgworld.Creator.DeleteObject(lineArr[index]); + // lineArr[index] = null; + // } + // }); + // }, + stdsjHandle() { + window.open( + "http://10.9.2.29:8080/#/login?token=1ed14c5157acb8088efe65bc93a032c3" + ); + }, + tdglHandle() { + this.setViewer1Show(!this.viewer1Show); + }, + qytj() { + this.setqyEchartsShow(!this.qyEchartsShow); + }, + sceneRoaming() { + if (this.showFlag) { + document.getElementById("scroll").style.display = "none"; + } else { + document.getElementById("scroll").style.display = "block"; + } + this.showFlag = !this.showFlag; + }, + setRomanFly(result) { + this.showFlag = false; + document.getElementById("scroll").style.display = "none"; + var val = roman.filter((res) => { + if (res.name == result.name) { + return res; + } + }); + var degreesArr = val[0].value; + + sgworld.Creator.getFlyData(degreesArr, (data) => { + data.showPoint = false; + data.showLine = true; + data.mode = 1; + // 寮圭獥鏁版嵁 + window.PathAnimationData = { + flyData: data, + }; + window.PathAnimationData.winIndex = layer.open({ + type: 2, + title: "璺緞鍔ㄧ敾", + shade: false, + area: ["352px", "690px"], + offset: "r", + skin: "other-class", + content: SmartEarthRootUrl + "Workers/path/Path.html", + end: function () { + PathAnimationData.fly && PathAnimationData.fly.exit(); + }, + }); + }); + }, + + handleCommand(command) { + switch (command) { + case "qytj": + this.qytj(); + break; + case "spjkHandle": + this.spjkHandle(); + break; + case "stdsjHandle": + this.stdsjHandle(); + break; + } + }, + + // 瑙嗛铻嶅悎 + async shipinronghe(item) { + var that = this; + if (that.videoarrList.length > 0) { + for (var i = 0; i < that.videoarrList.length; i++) { + that.videoarrList[i].destroy(); + that.videoarrList[i] = undefined; + } + that.videoarrList = []; + } else { + for (var i = 0; i < item.length; i++) { + let position = new SmartEarth.Degrees( + item[i].lon, + item[i].lat, + item[i].height + ); + await $.ajax({ + url: + "http://10.10.4.116:8086/getCamerasInfoHls?cameraIndexCode=" + + item[i].cameraIndexCode, + // url: "http://10.10.4.116:8086/getCamerasInfoHls?cameraIndexCode=49ee9fed701444738112e80a4835122c", + success: function (result) { + video = sgworld.Creator.Video3D({ + cameraPosition: position, //鐩告満瀹夎浣嶇疆 + heading: item[i].heading, //64 + pitch: item[i].pitch, //-47 + url: JSON.parse(result).data.url, //瑙嗛 + type: "hls", + horizonAngle: item[i].horizonAngle, //鐩告満姘村钩瑙嗚30 + verticalAngle: item[i].verticalAngle, //鐩告満鍨傜洿瑙嗚60 + offset: 0.1, //瑙嗛鍥涘懆缇藉寲姣斾緥 + near: 1, //鏈�杩戞姇灏勯潰璺濈 + far: item[i].far, //鏈�杩滄姇灏勯潰璺濈166 + alpha: item[i].alpha, //閫忔槑搴�1 + useLine: false, //鏄惁璇曠敤杈呭姪绾� + success() { + sgworld.Navigate.flyToObj(video); + }, + }); + that.videoarrList.push(video); + }, + }); + } + } + }, + updateVideo() { + video && + video.updateVideo({ + horizonAngle: this.horizonAngle, //鐩告満姘村钩瑙嗚 + verticalAngle: this.verticalAngle, //鐩告満鍨傜洿瑙嗚 + alpha: this.alpha, //閫忔槑搴� + far: this.far, //閫忔槑搴� + heading: this.heading, //閫忔槑搴� + pitch: this.pitch, //閫忔槑搴� + }); + }, + // 娓呴櫎 + clear() { + video && video.destroy(); + video = undefined; + }, + guanxian(params) { + if (params == "open") { + promiseS3M = sgworld.coreMap.scene.open( + "http://192.162.2.2:8090/iserver/services/3D-GX/rest/realspace" + ); + this.openGX = "close"; + } else { + promiseS3M.then((res) => { + res.forEach((item) => { + item.visible = false; + }); + }); + } + }, + read(wkt) { + var regExes = { + typeStr: /^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/, + emptyTypeStr: /^\s*(\w+)\s*EMPTY\s*$/, + spaces: /\s+/, + parenComma: /\)\s*,\s*\(/, + doubleParenComma: /\)\s*\)\s*,\s*\(\s*\(/, // can't use {2} here + trimParens: /^\s*\(?(.*?)\)?\s*$/, + }; + /** + * Object with properties corresponding to the geometry types. Property values + * are functions that do the actual parsing. + * @private + */ + var parse$1 = { + /** + * Return point geometry given a point WKT fragment. + * + * @param {String} str A WKT fragment representing the point. + * @return {Point} A point geometry. + * @private + */ + point: function point(str) { + if (str === undefined) { + return []; + } + + var coords = str.trim().split(regExes.spaces); + return [Number.parseFloat(coords[0]), Number.parseFloat(coords[1])]; + }, + + /** + * Return a multipoint geometry given a multipoint WKT fragment. + * + * @param {String} str A WKT fragment representing the multipoint. + * @return {Point} A multipoint feature. + * @private + */ + multipoint: function multipoint(str) { + var this$1 = this; + + if (str === undefined) { + return []; + } + + var point; + var points = str.trim().split(","); + var components = []; + for (var i = 0, len = points.length; i < len; ++i) { + point = points[i].replace(regExes.trimParens, "$1"); + components.push(parse$1.point(point)); + } + return components; + }, + + /** + * Return a linestring geometry given a linestring WKT fragment. + * + * @param {String} str A WKT fragment representing the linestring. + * @return {LineString} A linestring geometry. + * @private + */ + linestring: function linestring(str) { + if (str === undefined) { + return []; + } + + var points = str.trim().split(","); + var components = []; + var coords; + for (var i = 0, len = points.length; i < len; ++i) { + coords = points[i].trim().split(regExes.spaces); + components.push([ + Number.parseFloat(coords[0]), + Number.parseFloat(coords[1]), + ]); + } + return components; + }, + + /** + * Return a linearring geometry given a linearring WKT fragment. + * + * @param {String} str A WKT fragment representing the linearring. + * @return {LinearRing} A linearring geometry. + * @private + */ + linearring: function linearring(str) { + if (str === undefined) { + return []; + } + + var points = str.trim().split(","); + var components = []; + var coords; + for (var i = 0, len = points.length; i < len; ++i) { + coords = points[i].trim().split(regExes.spaces); + components.push([ + Number.parseFloat(coords[0]), + Number.parseFloat(coords[1]), + ]); + } + return components; + }, + + /** + * Return a multilinestring geometry given a multilinestring WKT fragment. + * + * @param {String} str A WKT fragment representing the multilinestring. + * @return {MultiLineString} A multilinestring geometry. + * @private + */ + multilinestring: function multilinestring(str) { + var this$1 = this; + + if (str === undefined) { + return []; + } + + var line; + var lines = str.trim().split(regExes.parenComma); + var components = []; + for (var i = 0, len = lines.length; i < len; ++i) { + line = lines[i].replace(regExes.trimParens, "$1"); + components.push(parse$1.linestring(line)); + } + return components; + }, + + /** + * Return a polygon geometry given a polygon WKT fragment. + * + * @param {String} str A WKT fragment representing the polygon. + * @return {Polygon} A polygon geometry. + * @private + */ + polygon: function polygon(str) { + var this$1 = this; + + if (str === undefined) { + return []; + } + + var ring, linestring, linearring; + var rings = str.trim().split(regExes.parenComma); + var shell; + var holes = []; + //for (var i = 0, len = rings.length; i < len; ++i) { + ring = rings[0].replace(regExes.trimParens, "$1"); + linestring = ring; + //} + return linestring; + }, + + /** + * Return a multipolygon geometry given a multipolygon WKT fragment. + * + * @param {String} str A WKT fragment representing the multipolygon. + * @return {MultiPolygon} A multipolygon geometry. + * @private + */ + multipolygon: function multipolygon(str) { + var this$1 = this; + + if (str === undefined) { + return []; + } + + var polygon; + var polygons = str.trim().split(regExes.doubleParenComma); + var components = []; + for (var i = 0, len = polygons.length; i < len; ++i) { + polygon = polygons[i].replace(regExes.trimParens, "$1"); + components.push(parse$1.polygon(polygon)); + } + return components; + }, + }; + + var geometry, type, str; + wkt = wkt.replace(/[\n\r]/g, " "); + var matches = regExes.typeStr.exec(wkt); + if (wkt.search("EMPTY") !== -1) { + matches = regExes.emptyTypeStr.exec(wkt); + matches[2] = undefined; + } + if (matches) { + type = matches[1].toLowerCase(); + str = matches[2]; + if (parse$1[type]) { + geometry = parse$1[type].apply(this, [str]); + } + } + + if (geometry === undefined) { + throw new Error("Could not parse WKT " + wkt); + } + + return geometry; + }, + }, +}; +</script> diff --git a/src/components/menu/tools/special.vue b/src/components/menu/tools/special.vue index 53e8e52..59b92cf 100644 --- a/src/components/menu/tools/special.vue +++ b/src/components/menu/tools/special.vue @@ -433,48 +433,7 @@ ); window.sxthandler.setInputAction((event) => { let pick = sgworld.Viewer.scene.pick(event.position); - if (pick && pick.id && pick.id.tag == "sxt") { - //鍏抽棴鍦板潡淇℃伅寮圭獥 - Bus.$emit("closeLandInfoPop", true); - //缁撴潫涔嬪墠鎿嶄綔 - layuiLayer.close(SmartEarthPopupData.layerProp); - - sgworld.drawObj && - (sgworld.drawObj.drawHandler && - sgworld.drawObj.drawHandler.destroy(), - sgworld.drawObj.end && sgworld.drawObj.end()); - - let props = pick.id.properties; - let screenHeight = - document.body.clientHeight || - document.documentElement.clientHeigh; - let offsetTop = screenHeight - 385; - offsetTop = offsetTop < 0 ? 0 : offsetTop; - - offsetTop = offsetTop > 100 ? offsetTop - 100 : offsetTop; - // console.log(props.installPla._value) - layerOpen(props.name._value, { - width: 470, - height: 385, - offset: [offsetTop + "px", "310px"], - url: - "./static/html/video/video.html?code=" + - props.cameraInde._value, - fn: { - success: (layero, index) => { - SmartEarthPopupData.layerContainer = layero; - }, - end: () => { - // this.isOpen.ymfx = false; - }, - cancel: () => { - sgworld.drawObj && - sgworld.drawObj.end && - sgworld.drawObj.end("cancel"); - }, - }, - }); - } + console.log(pick) }, Cesium.ScreenSpaceEventType.LEFT_CLICK); }) .catch((err) => { @@ -752,44 +711,44 @@ let lon = p.lon; let lat = p.lat; - axios - .get( - "http://10.10.4.121:8070/gisserver/wfsserver/yizhuang-building-wfs-1207", - { - params: { - version: "1.3.0", - request: "GetFeature", - typename: `浜﹀簞寤虹瓚澶栬疆寤�4326`, - propertyname: "*", - format: "json", - filter: `<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"><ogc:Intersects><ogc:PropertyName>SAHEP</ogc:PropertyName><gml:Point > <gml:pos>${lon} ${lat}</gml:pos></gml:Point></ogc:Intersects></ogc:Filter>`, - }, - } - ) - .then((response) => { - if (response.data.features.length > 0) { - var geometry = []; - let POIs = response.data.features[0].geometry.coordinates[0]; - for (let i = 0; i < POIs.length; i++) { - geometry.push({ - x: parseFloat(POIs[i][0]), - y: parseFloat(POIs[i][1]), - z: 0, - }); - } - buildingPolygon = sgworld.Creator.createPolygon( - geometry, - { - fillColor: "#00ff0050", - outlineColor: "#ff0000", - outlineWidth: 2, - }, - 1, - 0, - "闈�" - ); - } - }); + // axios + // .get( + // "http://10.10.4.121:8070/gisserver/wfsserver/yizhuang-building-wfs-1207", + // { + // params: { + // version: "1.3.0", + // request: "GetFeature", + // typename: `浜﹀簞寤虹瓚澶栬疆寤�4326`, + // propertyname: "*", + // format: "json", + // filter: `<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"><ogc:Intersects><ogc:PropertyName>SAHEP</ogc:PropertyName><gml:Point > <gml:pos>${lon} ${lat}</gml:pos></gml:Point></ogc:Intersects></ogc:Filter>`, + // }, + // } + // ) + // .then((response) => { + // if (response.data.features.length > 0) { + // var geometry = []; + // let POIs = response.data.features[0].geometry.coordinates[0]; + // for (let i = 0; i < POIs.length; i++) { + // geometry.push({ + // x: parseFloat(POIs[i][0]), + // y: parseFloat(POIs[i][1]), + // z: 0, + // }); + // } + // buildingPolygon = sgworld.Creator.createPolygon( + // geometry, + // { + // fillColor: "#00ff0050", + // outlineColor: "#ff0000", + // outlineWidth: 2, + // }, + // 1, + // 0, + // "闈�" + // ); + // } + // }); } // else if (nPickFeature.primitive instanceof Cesium.GroundPrimitive) { // let wmsLayer = this.$store.state.selectedLayers.filter((item) => { diff --git a/src/components/right/@/assets/img/new/yingxiang.png b/src/components/right/@/assets/img/new/yingxiang.png new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/components/right/@/assets/img/new/yingxiang.png diff --git a/src/components/right/right-bottom.vue b/src/components/right/right-bottom.vue index a7f33c7..da4a65e 100644 --- a/src/components/right/right-bottom.vue +++ b/src/components/right/right-bottom.vue @@ -422,17 +422,27 @@ }, flyBack() { sgworld.Navigate.flyToPointsInterest({ - destination: new Cesium.Cartesian3.fromDegrees( - this.camera.position[0], - this.camera.position[1], - this.camera.position[2] - ), - orientation: { - heading: Cesium.Math.toRadians(this.camera.orientation.heading), - pitch: Cesium.Math.toRadians(this.camera.orientation.pitch), - roll: Cesium.Math.toRadians(this.camera.orientation.roll), - }, - }); + destination: { + "x": -2739326.5749705257, + "y": 4699172.613682586, + "z": 3363231.4711036524 + }, orientation: new Cesium.HeadingPitchRoll(0.20701194045518534, -1.2462306958113518, 0.00000112321019862804), + duration: 7, //椋炶鏃堕棿8s + }); + + + // sgworld.Navigate.flyToPointsInterest({ + // destination: new Cesium.Cartesian3.fromDegrees( + // this.camera.position[0], + // this.camera.position[1], + // this.camera.position[2] + // ), + // orientation: { + // heading: Cesium.Math.toRadians(this.camera.orientation.heading), + // pitch: Cesium.Math.toRadians(this.camera.orientation.pitch), + // roll: Cesium.Math.toRadians(this.camera.orientation.roll), + // }, + // }); }, fullScreen() { this.isActive = !this.isActive; diff --git a/src/components/right/right-top.vue b/src/components/right/right-top.vue index cf8be6d..b235726 100644 --- a/src/components/right/right-top.vue +++ b/src/components/right/right-top.vue @@ -51,6 +51,7 @@ </div> <model-layer v-show="$store.state.showModelFlag"></model-layer> <model-edit v-if="$store.state.isShowEditLayer"></model-edit> + <menu-query v-if="$store.state.isShowMenuQuery"></menu-query> <querydata ref="drawer" /> <div class="resByMouseBox" v-if="showRangeBox"> @@ -759,7 +760,9 @@ // import { queryBySquare } from "@/utils/request"; import FCFH from "@/components/right/FCFH"; import modelLayer from "@/components/left/layerTree/modelLayer.vue"; -import modelEdit from '@/components/left/layerTree/modelEdit.vue'; +import modelEdit from '@/components/left/layerTree/modelEdit.vue'; +import menuQuery from "@/components/left/layerTree/menuQuery.vue"; + //浜ら�氬浘灞� let trafficLayer, panoramaLayer; let flyPoint; @@ -777,7 +780,9 @@ Layer, FCFH, modelLayer, - modelEdit + modelEdit, + menuQuery + }, name: "right-top", data() { diff --git a/src/components/right/switchImagerLayer.vue b/src/components/right/switchImagerLayer.vue index cdccb03..439f496 100644 --- a/src/components/right/switchImagerLayer.vue +++ b/src/components/right/switchImagerLayer.vue @@ -8,59 +8,62 @@ /> </li> --> <li> - <img - @click="switchImagerLayerClick('褰卞儚搴曞浘')" - src="@/assets/img/new/yingxiang.png" - /> + <img @click="switchImagerLayerClick('褰卞儚搴曞浘')" src="@/assets/img/new/yingxiang.png" /> </li> <li> - <div class="radiogroup" @change="switchImagerLayerClick('浜岀淮搴曞浘')"> - <el-radio-group v-model="radio"> + <div class="radiogroup" @click="switchImagerLayerClick('浜岀淮搴曞浘')"> + <!-- <el-radio-group v-model="radio"> <el-radio :label="2">鏍囧噯鐧�</el-radio> <el-radio :label="1">绉戞妧钃�</el-radio> <el-radio :label="0">鏆楀榛�</el-radio> - </el-radio-group> + </el-radio-group> --> <img src="@/assets/img/new/shiliang.png" /> </div> </li> - <li> + <!-- <li> <img @click="switchImagerLayerClick('瀹炴櫙妯″瀷')" src="@/assets/img/new/sanwei.png" /> - </li> + </li> --> </ul> </div> </template> <style scoped> .switchImagerLayer { - width: 395px; + width: 260px; height: 88px; position: absolute; - right: 78px; + right: 10px; top: -90px; } + .switchImagerLayer ul { width: 100%; list-style: none; display: flex; justify-content: space-between; } + li { cursor: pointer; width: 124px; height: 89px; } + li img { width: 100%; } + li:hover { background-color: rgb(0, 136, 255, 0.4); } + .switchImagerLayer li .radiogroup { position: absolute; } + .switchImagerLayer li .el-radio-group { display: flex; flex-direction: column; @@ -71,6 +74,7 @@ top: 5px; z-index: 10; } + .el-radio { color: #fff; text-shadow: 1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000, @@ -105,6 +109,7 @@ <script> import Bus from "../tools/Bus"; import baseVuex from "@mixin/baseVuex"; + export default { name: "switchImagerLayer", components: {}, @@ -121,31 +126,45 @@ }, }; }, - mounted() {}, + mounted() { }, mixins: [baseVuex], methods: { - clearLayer() {}, + clearLayer() { }, + removeLayer() { + var layer = Viewer.imageryLayers._layers[1]; + if (layer) { + Viewer.imageryLayers.remove(layer) + } + }, switchImagerLayerClick(type) { switch (type) { case "褰卞儚搴曞浘": - this.radio = null; - this.changeLayer("2d"); //娣诲姞鐩告満鑼冨洿闄愬埗 - this.clearSwitchImagerLayerClick(); - Bus.$emit("switchImage"); - this.$parent.changeImage("1"); + // this.radio = null; + // this.changeLayer("2d"); //娣诲姞鐩告満鑼冨洿闄愬埗 + // this.clearSwitchImagerLayerClick(); + // Bus.$emit("switchImage"); + // this.$parent.changeImage("1"); + // + Viewer.imageryLayers._layers[1].show = false; + Viewer.imageryLayers._layers[2].show = false; + Viewer.imageryLayers._layers[3].show = true; break; case "浜岀淮搴曞浘": - this.changeLayer("2d"); //娣诲姞鐩告満鑼冨洿闄愬埗 - this.clearSwitchImagerLayerClick(); - if (this.radio == 0) { - Bus.$emit("heijin2D"); - } else if (this.radio == 1) { - Bus.$emit("shenlan2D"); - } else { - Bus.$emit("baise2D"); - } - // Bus.$emit("switch2D"); - this.$parent.changeImage("2"); + Viewer.imageryLayers._layers[1].show = true; + Viewer.imageryLayers._layers[2].show = true; + Viewer.imageryLayers._layers[3].show = false; + // Viewer.imageryLayers.remove(Viewer.imageryLayers._layers[1]) + // this.changeLayer("2d"); //娣诲姞鐩告満鑼冨洿闄愬埗 + // this.clearSwitchImagerLayerClick(); + // if (this.radio == 0) { + // Bus.$emit("heijin2D"); + // } else if (this.radio == 1) { + // Bus.$emit("shenlan2D"); + // } else { + // Bus.$emit("baise2D"); + // } + // // Bus.$emit("switch2D"); + // this.$parent.changeImage("2"); break; case "瀹炴櫙妯″瀷": this.radio = null; @@ -223,7 +242,7 @@ try { if (window.panoramaLayer) window.panoramaLayer.deleteObject(); - } catch (e) {} + } catch (e) { } if (window.panoramaHandler) window.panoramaHandler.destroy(); if (window.panoramaHandler) window.panoramaHandler = undefined; }, diff --git a/src/router/index.js b/src/router/index.js index f5fc606..f4a5627 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -30,7 +30,7 @@ ]; const router = new Router({ mode: "history", - // base: '/YZXNCS',//姝e紡鐗� 鎵撳寘鏃惰В寮� + // base: '/JSJKZHGS',//姝e紡鐗� 鎵撳寘鏃惰В寮� // base: '/SW',//娴嬭瘯鐗� 鎵撳寘鏃惰В寮� routes, }); diff --git a/src/store/index.js b/src/store/index.js index 03671e0..a9bfbde 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -34,11 +34,20 @@ selectedLayers: [], userId: "", userName: "", - showModelFlag:false,//妯″瀷娣诲姞缂栬緫 - isShowLayer:false, - addModelFlag:false, - addModelLayer:null, - isShowEditLayer:false, + showModelFlag: false,//妯″瀷娣诲姞缂栬緫 + isShowLayer: false, + addModelFlag: false, + addModelLayer: null, + isShowEditLayer: false, + showMessageInfo: false, + isMeasureFlag: false, + measureCoordObj: null, + isShowMeasureCoord: false, + isShowMenuQuery:false, + isQueryFalag:false, + isQyeryCoord:null, + showZhaiHaiImg:null, + isshowZhaiHai:false, }, mutations: { selectedLayer(state, b) { @@ -91,12 +100,15 @@ state.showSetting = b; console.log(b) }, - showModelBox(state,b){ + showModelBox(state, b) { state.showModelFlag = b; }, - showSceneBox(state,b){ + showSceneBox(state, b) { state.isShowLayer = !state.isShowLayer; }, + setMenuQuery(state, b) { + state.isShowMenuQuery = b; + }, // 瀹氫箟宸ョ▼鏍戞暟鎹� setTreeData(state, data = []) { ergodicNode(data); diff --git a/src/store/mapSplit.js b/src/store/mapSplit.js index 9b4ebdd..f5204d9 100644 --- a/src/store/mapSplit.js +++ b/src/store/mapSplit.js @@ -23,7 +23,7 @@ var lat = Cesium.Math.toDegrees(cartographic.latitude) var lng = Cesium.Math.toDegrees(cartographic.longitude) var level = this.getLevel(cartographic.height) - console.log(lng, lat, level) + window.map.getView().setCenter([parseFloat(lng), parseFloat(lat)]) window.map.getView().setZoom(level) }, diff --git a/static/CimSDK/Workers/field/rendermapWorker.js b/static/CimSDK/Workers/field/rendermapWorker.js index bd7ffcc..8de0fbb 100644 --- a/static/CimSDK/Workers/field/rendermapWorker.js +++ b/static/CimSDK/Workers/field/rendermapWorker.js @@ -53,7 +53,7 @@ var colorBar = colorInfo; var valMax = byteArray[byteArray.length - 1]; var valMin = byteArray[byteArray.length - 2]; - debugger + if (colorEqually) { var delta = valMax - valMin; delta = delta / (colorBar.length - 1); diff --git a/static/SmartEarthSDK/Workers/field/rendermapWorker.js b/static/SmartEarthSDK/Workers/field/rendermapWorker.js index bd7ffcc..8de0fbb 100644 --- a/static/SmartEarthSDK/Workers/field/rendermapWorker.js +++ b/static/SmartEarthSDK/Workers/field/rendermapWorker.js @@ -53,7 +53,7 @@ var colorBar = colorInfo; var valMax = byteArray[byteArray.length - 1]; var valMin = byteArray[byteArray.length - 2]; - debugger + if (colorEqually) { var delta = valMax - valMin; delta = delta / (colorBar.length - 1); diff --git a/static/SmartEarthSDK/Workers/prop/property_prop.html b/static/SmartEarthSDK/Workers/prop/property_prop.html index 9024f89..2f6ce73 100644 --- a/static/SmartEarthSDK/Workers/prop/property_prop.html +++ b/static/SmartEarthSDK/Workers/prop/property_prop.html @@ -534,7 +534,7 @@ $('.attribute3dtitles input[name="text17"]').val(editGraphic.getProperty(obj[16])); break; case 'attributepolygon': - debugger + $('.attributepolygon input[name="text1"]').val(editGraphic["Angle"].getValue()); $('.attributepolygon input[name="text2"]').val(editGraphic["BSM"].getValue()); $('.attributepolygon input[name="text3"]').val(editGraphic["BlkColor"].getValue()); diff --git a/static/data/layerData.js b/static/data/layerData.js index 4d2e79e..4cb67db 100644 --- a/static/data/layerData.js +++ b/static/data/layerData.js @@ -8,6 +8,11 @@ BASE_URL: "http://" + host + "/JiangSu", img_url: "http://" + host + "/static/image/", Model_URL: web_URL + "/JiangSu", + tdtSl:"http://t0.tianditu.com/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=", + tdtZj:"http://t0.tianditu.com/cva_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cva&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default.jpg&tk=", + tdtToken:"94a34772eb88317fcbf8428e10448561", + olTdtSl:'http://t0.tianditu.com/DataServer?T=cta_w&x={x}&y={y}&l={z}&tk=', + olTdtBZ:'http://t0.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=' }, modelData: [ { @@ -18,39 +23,29 @@ }, { id: 'md2', - name: '娴嬭瘯妯″瀷2', - url: '/Data/glb/Cesium_Air.glb', - imgUrl: '椋炴満.png' + name: '宸ヤ汉', + url: '/Data/glb/宸ヤ汉.glb', + imgUrl: '宸ヤ汉.png' }, { id: 'md3', - name: '娴嬭瘯妯″瀷3', - url: '/Data/glb/Cesium_Air.glb', - imgUrl: '椋炴満.png' - }, { + name: '璺殰', + url: '/Data/glb/璺殰.glb', + imgUrl: '璺殰.png' + }, { id: 'md4', - name: '娴嬭瘯妯″瀷4', - url: '/Data/glb/Cesium_Air.glb', - imgUrl: '椋炴満.png' + name: '鏂藉伐杞﹁締', + url: '/Data/glb/sgcl.glb', + imgUrl: '鏂藉伐杞﹁締.png' }, { id: 'md5', - name: '娴嬭瘯妯″瀷5', - url: '/Data/glb/Cesium_Air.glb', - imgUrl: '椋炴満.png' + name: '妗�', + url: '/Data/glb/妗�.glb', + imgUrl: '妗�.png' }, { id: 'md6', - name: '娴嬭瘯妯″瀷6', - url: '/Data/glb/Cesium_Air.glb', - imgUrl: '椋炴満.png' - }, { - id: 'md7', - name: '娴嬭瘯妯″瀷7', - url: '/Data/glb/Cesium_Air.glb', - imgUrl: '椋炴満.png' - }, { - id: 'md8', - name: '娴嬭瘯妯″瀷8', - url: '/Data/glb/Cesium_Air.glb', - imgUrl: '椋炴満.png' - }, + name: '閿ユ《', + url: '/Data/glb/閿ユ《.glb', + imgUrl: '閿ユ《.png' + } ] } \ No newline at end of file diff --git a/static/html/AnalysisResultEchartLine.html b/static/html/AnalysisResultEchartLine.html index 62b55cc..66d2fc5 100644 --- a/static/html/AnalysisResultEchartLine.html +++ b/static/html/AnalysisResultEchartLine.html @@ -96,7 +96,7 @@ thisP.height += 360; thisP = parent.Cesium.Cartographic.toCartesian(thisP); - debugger + // parent._AnalysisDXPM.flyPoint var options = { maximumHeight: 30, diff --git "a/static/image/\345\267\245\344\272\272.png" "b/static/image/\345\267\245\344\272\272.png" new file mode 100644 index 0000000..d8ab16c --- /dev/null +++ "b/static/image/\345\267\245\344\272\272.png" Binary files differ diff --git "a/static/image/\346\226\275\345\267\245\350\275\246\350\276\206.png" "b/static/image/\346\226\275\345\267\245\350\275\246\350\276\206.png" new file mode 100644 index 0000000..028002d --- /dev/null +++ "b/static/image/\346\226\275\345\267\245\350\275\246\350\276\206.png" Binary files differ diff --git "a/static/image/\346\241\266.png" "b/static/image/\346\241\266.png" new file mode 100644 index 0000000..ed797a5 --- /dev/null +++ "b/static/image/\346\241\266.png" Binary files differ diff --git "a/static/image/\350\267\257\351\232\234.png" "b/static/image/\350\267\257\351\232\234.png" new file mode 100644 index 0000000..0ecc013 --- /dev/null +++ "b/static/image/\350\267\257\351\232\234.png" Binary files differ diff --git "a/static/image/\351\224\245\346\241\266.png" "b/static/image/\351\224\245\346\241\266.png" new file mode 100644 index 0000000..caef20c --- /dev/null +++ "b/static/image/\351\224\245\346\241\266.png" Binary files differ diff --git a/static/img/test03-01.png b/static/img/test03-01.png new file mode 100644 index 0000000..c241360 --- /dev/null +++ b/static/img/test03-01.png Binary files differ diff --git a/static/layers.json b/static/layers.json index b208fb9..6f39692 100644 --- a/static/layers.json +++ b/static/layers.json @@ -7,7 +7,75 @@ "id": "CE402B81", "name": "杈圭晫鑼冨洿", "children": [ - + { + "id": "A349C2B1", + "sourceType": "GEOJSON", + "type": "ZhuangHao", + "name": "妗╁彿", + "urls": "/Data/json/zhuanghao.geojson", + "alpha": 1, + "zIndex": 4, + "checked": false, + "rename": false + }, + { + "id": "A349C2B2", + "sourceType": "GEOJSON", + "type": "PingQuXian", + "name": "骞虫洸绾�", + "urls": "/Data/json/PingQuXian.geojson", + "alpha": 1, + "zIndex": 4, + "checked": false, + "rename": false + }, + { + "id": "A349C2B3", + "sourceType": "GEOJSON", + "type": "ZhongQuXian", + "name": "绾垫洸绾�", + "urls": "/Data/json/ZhongQuXian.geojson", + "alpha": 1, + "zIndex": 4, + "checked": false, + "rename": false + }, + { + "id": "A349C2B4", + "sourceType": "GEOJSON", + "type": "WangGe", + "name": "缃戞牸", + "urls": "/Data/json/wangGe.geojson", + "alpha": 1, + "zIndex": 4, + "checked": false, + "rename": false + }, + { + "id": "A349C2B5", + "sourceType": "GEOJSON", + "type": "zhaiHai", + "name": "鐏惧", + "urls": [ + "/Data/json/zhaiHai1.geojson", + "/Data/json/zhaiHai2.geojson", + "/Data/json/zhaiHai3.geojson" + ], + "alpha": 1, + "zIndex": 4, + "checked": false, + "rename": false + }, + { + "id": "A349C2B6", + "sourceType": "wmse", + "name": "琛屾斂鍖哄垝", + "urls": "http://192.168.20.83:8866/gisserver/wmsserver/xingZhengQuHua", + "alpha": 1, + "zIndex": 4, + "checked": false, + "rename": false + } ], "rename": false, "checked": false, @@ -15,14 +83,32 @@ }, { "id": "482040AD", - "name": "鐥呭鏁版嵁", + "name": "妯″瀷", "children": [ - + { + "id": "482040AD1", + "sourceType": "b3dm", + "name": "鏈嶅姟鍖烘ā鍨�", + "urls": "http://localhost/JiangSu/Data/3dtiles/fwq/tileset.json", + "checked": true, + "rename": false, + "effectsMaxHeight": 0, + "zIndex": 5 + }, + { + "id": "482040AD2", + "sourceType": "b3dm", + "name": "鏀惰垂绔欐ā鍨�", + "urls": "http://localhost/JiangSu/Data/3dtiles/sfz/tileset.json", + "checked": true, + "rename": false, + "zIndex": 2, + "effectsMaxHeight": 0 + } ], "rename": false, "expanded": false } - ], "flyTo": [], "mapStatus": { diff --git a/vue.config.js b/vue.config.js index 23ee67b..720a4d2 100644 --- a/vue.config.js +++ b/vue.config.js @@ -21,12 +21,12 @@ error: true }, proxy: { - "/JiangSu": { - target: 'http:localhost/JiangSu',//浠g悊鍦板潃 鍑℃槸浣跨敤/api + "/aaaa": { + target: 'http:localhost/aaaa',//浠g悊鍦板潃 鍑℃槸浣跨敤/api changeOrigin: true,//鍏佽璺ㄥ煙璇锋眰 secure: false, pathRewrite: { //閲嶅啓璺緞 鏇挎崲璇锋眰鍦板潃涓殑鎸囧畾璺緞 - ['^/JiangSu']: '' //灏嗚姹傚湴鍧�涓殑api鏇挎崲涓虹┖ + ['^/aaaa']: '' //灏嗚姹傚湴鍧�涓殑api鏇挎崲涓虹┖ } } } -- Gitblit v1.9.3