diff --git a/.eslintrc.js b/.eslintrc.js index 109ec22..de10f82 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -3,7 +3,8 @@ module.exports = { env: { browser: true, node: true, - es6: true + es6: true, + 'vue/setup-compiler-macros': true }, extends: [ 'plugin:vue/vue3-recommended', diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..7a73a41 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/index.html b/index.html index 1040300..62be7c3 100644 --- a/index.html +++ b/index.html @@ -1,25 +1,19 @@ - - - - - - Vite App - - - - - - - - - - - -
- - - - \ No newline at end of file + + + + + Vite App + + + + + + + + +
+ + + diff --git a/package-lock.json b/package-lock.json index ae17714..c8b6738 100644 --- a/package-lock.json +++ b/package-lock.json @@ -310,6 +310,40 @@ "to-fast-properties": "^2.0.0" } }, + "@cesium/engine": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@cesium/engine/-/engine-2.0.0.tgz", + "integrity": "sha512-P0LMwJD5bJ2pvYp2s6B4B8Wx375TCMjV19/pyPUnqGeEDK85GHPcd50NNACXC8F+MqOrNZKlrzcfrksK/RTIuA==", + "requires": { + "@tweenjs/tween.js": "^18.6.4", + "@zip.js/zip.js": "2.4.x", + "autolinker": "^4.0.0", + "bitmap-sdf": "^1.0.3", + "dompurify": "^2.2.2", + "earcut": "^2.2.4", + "grapheme-splitter": "^1.0.4", + "jsep": "^1.3.8", + "kdbush": "^3.0.0", + "ktx-parse": "^0.4.5", + "lerc": "^2.0.0", + "mersenne-twister": "^1.1.0", + "meshoptimizer": "^0.18.1", + "pako": "^2.0.4", + "protobufjs": "^7.1.0", + "rbush": "^3.0.1", + "topojson-client": "^3.1.0", + "urijs": "^1.19.7" + } + }, + "@cesium/widgets": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@cesium/widgets/-/widgets-2.0.0.tgz", + "integrity": "sha512-9pYmRCMhhEXB3BDdD9YixUIjd6RT7v35mFRtvLFf5psm7IRRxz2lgF87JuQGtoXNyG0rZRN5b2IwD99VeiidKg==", + "requires": { + "@cesium/engine": "2.0.0", + "nosleep.js": "^0.12.0" + } + }, "@css-render/plugin-bem": { "version": "0.15.9", "resolved": "https://registry.npmjs.org/@css-render/plugin-bem/-/plugin-bem-0.15.9.tgz", @@ -469,6 +503,60 @@ "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", "dev": true }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, "@rollup/plugin-node-resolve": { "version": "13.3.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz", @@ -558,6 +646,11 @@ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" }, + "@tweenjs/tween.js": { + "version": "18.6.4", + "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-18.6.4.tgz", + "integrity": "sha512-lB9lMjuqjtuJrx7/kOkqQBtllspPIN+96OvTCeJ2j5FEzinoAXTdAMFnDAQT1KVPRlnYfBrqxtqP66vDM40xxQ==" + }, "@types/eslint": { "version": "7.29.0", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.29.0.tgz", @@ -624,8 +717,7 @@ "@types/node": { "version": "17.0.23", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", - "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==", - "dev": true + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" }, "@types/normalize-package-data": { "version": "2.4.1", @@ -1089,6 +1181,11 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, + "@zip.js/zip.js": { + "version": "2.4.26", + "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.4.26.tgz", + "integrity": "sha512-I9HBO3BHIxEMQmltmHM3iqUW6IHqi3gsL9wTSXvHTRpOrA6q2OxtR58EDSaOGjHhDVJ+wIOAxZyKq2x00AVmqw==" + }, "acorn": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", @@ -1272,6 +1369,20 @@ "integrity": "sha512-Pj2IR7u8hmUEDOwB++su6baaRi+QvsgajuFB9j95foM1N2gy5HM4z60hfusIO0fBPG5uLAEl6yCJr1jNSVugEQ==", "dev": true }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "autolinker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-4.0.0.tgz", + "integrity": "sha512-fl5Kh6BmEEZx+IWBfEirnRUU5+cOiV0OK7PEt0RBKvJMJ8GaRseIOeDU3FKf4j3CE5HVefcjHmhYPOcaVt0bZw==", + "requires": { + "tslib": "^2.3.0" + } + }, "axios": { "version": "0.26.1", "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", @@ -1319,6 +1430,11 @@ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, + "bitmap-sdf": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/bitmap-sdf/-/bitmap-sdf-1.0.4.tgz", + "integrity": "sha512-1G3U4n5JE6RAiALMxu0p1XmeZkTeCwGKykzsLTCqVzfSDaN6S7fKnkIkfejogz+iwqBWc0UYAIKnKHNN7pSfDg==" + }, "bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -1430,6 +1546,15 @@ "integrity": "sha512-e4BF2RlCVELKx8+RmklSEIVub1TWrmdhvA5kEUueummz1XyySW0DVk+3x9HyhU9MuWTa2BhqLgEuEmUwASAdCA==", "dev": true }, + "cesium": { + "version": "1.102.0", + "resolved": "https://registry.npmjs.org/cesium/-/cesium-1.102.0.tgz", + "integrity": "sha512-6reR5r2l9vkNClAEbK0NB+7vg27fzHplM1atdDM5CdUQUwKF3my9edi5BHcGRCgZ3ONmjU+ruGHwRXtmMG7dng==", + "requires": { + "@cesium/engine": "2.0.0", + "@cesium/widgets": "2.0.0" + } + }, "chalk": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", @@ -1787,6 +1912,11 @@ "domelementtype": "^2.2.0" } }, + "dompurify": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.4.tgz", + "integrity": "sha512-1e2SpqHiRx4DPvmRuXU5J0di3iQACwJM+mFGE2HAkkK7Tbnfk9WcghcAmyWc9CRrjyRRUpmuhPUH6LphQQR3EQ==" + }, "domutils": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", @@ -1826,6 +1956,11 @@ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, + "earcut": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", + "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==" + }, "easy-stack": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", @@ -2449,6 +2584,12 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, "event-pubsub": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", @@ -2713,6 +2854,12 @@ } } }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, "fs-extra": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", @@ -2879,6 +3026,11 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + }, "gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", @@ -3154,6 +3306,15 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "requires": { + "@types/estree": "*" + } + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -3353,6 +3514,11 @@ "esprima": "^4.0.0" } }, + "jsep": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.3.8.tgz", + "integrity": "sha512-qofGylTGgYj9gZFsHuyWAN4jr35eJ66qJCK4eKDnldohuUoQFbU3iZn2zjvEbd9wOAhP9Wx5DsAAduTyE1PSWQ==" + }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -3398,6 +3564,11 @@ "resolved": "https://registry.npmjs.org/jstoxml/-/jstoxml-2.2.9.tgz", "integrity": "sha512-OYWlK0j+roh+eyaMROlNbS5cd5R25Y+IUpdl7cNdB8HNrkgwQzIS7L9MegxOiWNBj9dQhA/yAxiMwCC5mwNoBw==" }, + "kdbush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", + "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==" + }, "ko-sleep": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/ko-sleep/-/ko-sleep-1.1.4.tgz", @@ -3412,6 +3583,11 @@ "integrity": "sha512-lxpCM3HTvquGxKGzHeknB/sUjuVoUElLlfYnXZT73K8geR9jQbroGlSCFBax9/0mpGoD3kzcMLnOlGQPJJNyqQ==", "dev": true }, + "ktx-parse": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/ktx-parse/-/ktx-parse-0.4.5.tgz", + "integrity": "sha512-MK3FOody4TXbFf8Yqv7EBbySw7aPvEcPX++Ipt6Sox+/YMFvR5xaTyhfNSk1AEmMy+RYIw81ctN4IMxCB8OAlg==" + }, "launch-editor": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.3.0.tgz", @@ -3422,6 +3598,11 @@ "shell-quote": "^1.6.1" } }, + "lerc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lerc/-/lerc-2.0.0.tgz", + "integrity": "sha512-7qo1Mq8ZNmaR4USHHm615nEW2lPeeWJ3bTyoqFbd35DLx0LUH7C6ptt5FDCTAlbIzs3+WKrk5SkJvw8AFDE2hg==" + }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -3496,6 +3677,11 @@ } } }, + "long": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz", + "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==" + }, "lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -3539,6 +3725,16 @@ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, + "mersenne-twister": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mersenne-twister/-/mersenne-twister-1.1.0.tgz", + "integrity": "sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA==" + }, + "meshoptimizer": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", + "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==" + }, "micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -3549,6 +3745,12 @@ "picomatch": "^2.3.1" } }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -3755,6 +3957,11 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, + "nosleep.js": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/nosleep.js/-/nosleep.js-0.12.0.tgz", + "integrity": "sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA==" + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -3906,6 +4113,11 @@ "netmask": "^2.0.2" } }, + "pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + }, "param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", @@ -4082,6 +4294,25 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, + "protobufjs": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.2.tgz", + "integrity": "sha512-++PrQIjrom+bFDPpfmqXfAGSQs40116JRrqqyf53dymUMvvb5d/LMRyicRoF1AUKoXVS1/IgJXlEgcpr4gTF3Q==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + } + }, "proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-5.0.0.tgz", @@ -4149,6 +4380,11 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "quickselect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4158,6 +4394,12 @@ "safe-buffer": "^5.1.0" } }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, "raw-body": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", @@ -4176,6 +4418,14 @@ } } }, + "rbush": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", + "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", + "requires": { + "quickselect": "^2.0.0" + } + }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -4297,6 +4547,18 @@ "fsevents": "~2.3.2" } }, + "rollup-plugin-external-globals": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-external-globals/-/rollup-plugin-external-globals-0.6.1.tgz", + "integrity": "sha512-mlp3KNa5sE4Sp9UUR2rjBrxjG79OyZAh/QC18RHIjM+iYkbBwNXSo8DHRMZWtzJTrH8GxQ+SJvCTN3i14uMXIA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^4.0.0", + "estree-walker": "^2.0.1", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7" + } + }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -4369,6 +4631,92 @@ "lru-cache": "^6.0.0" } }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, "serialize-javascript": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", @@ -4378,6 +4726,18 @@ "randombytes": "^2.1.0" } }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, "setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -4759,21 +5119,6 @@ "thenify": ">= 3.1.0 < 4" } }, - "three": { - "version": "0.146.0", - "resolved": "https://registry.npmjs.org/three/-/three-0.146.0.tgz", - "integrity": "sha512-1lvNfLezN6OJ9NaFAhfX4sm5e9YCzHtaRgZ1+B4C+Hv6TibRMsuBAM5/wVKzxjpYIlMymvgsHEFrrigEfXnb2A==" - }, - "threebox": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/threebox/-/threebox-0.1.5.tgz", - "integrity": "sha512-SAxLgJ6Qwqvzehic25DFkhJT7dPvWnwwHPgrAHoDZiIzlO5uG0CD1XPkv4kq6/lA94yK2Nf7BI8q5xCKdXBalw==" - }, - "threebox-plugin": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/threebox-plugin/-/threebox-plugin-2.2.7.tgz", - "integrity": "sha512-H87Nm4w1PfisHPHzavTGXlwIoJpx2+QU57GooQYIhF51lsg+U5A0KGf3Jrv/HWsLCGOwV2BTnv7UTLfpO1EccQ==" - }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -4809,6 +5154,21 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, + "topojson-client": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", + "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", + "requires": { + "commander": "2" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, "totalist": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", @@ -4969,6 +5329,11 @@ "punycode": "^2.1.0" } }, + "urijs": { + "version": "1.19.11", + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", + "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" + }, "urllib": { "version": "2.38.1", "resolved": "https://registry.npmjs.org/urllib/-/urllib-2.38.1.tgz", @@ -5073,6 +5438,31 @@ "rollup": "^2.59.0" } }, + "vite-plugin-cesium": { + "version": "1.2.22", + "resolved": "https://registry.npmjs.org/vite-plugin-cesium/-/vite-plugin-cesium-1.2.22.tgz", + "integrity": "sha512-OnS+VKNGck4kUu4/67Fdfhz0/zF9mDVNUp9hUWtX19C38O0mJsJy2MH1ev2QcrVLf6VieJ7vCGxkLchdB1n1HQ==", + "dev": true, + "requires": { + "fs-extra": "^9.1.0", + "rollup-plugin-external-globals": "^0.6.1", + "serve-static": "^1.14.1" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } + } + }, "vite-plugin-html": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/vite-plugin-html/-/vite-plugin-html-2.1.2.tgz", @@ -5188,6 +5578,11 @@ "semver": "^7.3.5" } }, + "vue-jstree": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/vue-jstree/-/vue-jstree-2.1.6.tgz", + "integrity": "sha512-vtUmhLbfE2JvcnYNRXauJPkNJSRO/f9BTsbxV+ESXP/mMQPVUIYI4EkSHKSEOxVDHTU7SfLp/AxplmaAl6ctcg==" + }, "vue-router": { "version": "4.0.14", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.14.tgz", diff --git a/package.json b/package.json index e81e580..0f8c3e0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,9 @@ { "name": "vite_vue3", "version": "0.0.0", + "globals": { + "Cesium": true + }, "scripts": { "dev": "vite --mode localhost", "build:test": "vite build --mode test && esno ./build/script", @@ -14,6 +17,7 @@ "@vicons/ionicons5": "^0.10.0", "ali-oss": "^6.17.1", "axios": "^0.26.1", + "cesium": "^1.102.0", "dayjs": "^1.11.2", "mockjs": "^1.1.0", "pinia": "^2.0.13", @@ -23,6 +27,7 @@ "threebox-plugin": "^2.2.7", "tinymce": "^5.10.2", "vue": "^3.2.16", + "vue-jstree": "^2.1.6", "vue-router": "^4.0.14", "vuedraggable": "^4.1.0" }, @@ -45,6 +50,7 @@ "unocss": "^0.16.4", "unplugin-vue-components": "^0.18.5", "vite": "^2.6.4", + "vite-plugin-cesium": "^1.2.22", "vite-plugin-html": "^2.1.2", "vite-plugin-mock": "^2.9.6", "vite-plugin-vue-setup-extend": "^0.4.0" diff --git a/public/liuyang.json b/public/liuyang.json new file mode 100644 index 0000000..9780393 --- /dev/null +++ b/public/liuyang.json @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"type":"Feature","id":"classification.1","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35233021,27.94442593],[113.35215057,27.94451017],[113.35223683,27.94464477],[113.35237217,27.94456368],[113.35233021,27.94442593]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":1,"SHAPE_Leng":6.60060581804E-4,"SHAPE_Area":2.67466908553E-8,"分类":"其他","经度":"113.35226964457","纬度":"27.9445343062808","面积":291.84900893,"乡镇":"官桥镇","行政村":"集镇社区"}},{"type":"Feature","id":"classification.2","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35216832,27.94108395],[113.35213047,27.9410741],[113.35207276,27.94114002],[113.35248761,27.94137835],[113.35251035,27.94128629],[113.35216832,27.94108395]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":2,"SHAPE_Leng":0.00109738946734,"SHAPE_Area":4.2593180577E-8,"分类":"建筑","经度":"113.352300409178","纬度":"27.9412177804962","面积":464.773878904,"乡镇":"官桥镇","行政村":"一江村"}},{"type":"Feature","id":"classification.3","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35213972,27.94479176],[113.35245169,27.94459926],[113.35241159,27.94453501],[113.35208688,27.94473537],[113.35213972,27.94479176]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":3,"SHAPE_Leng":9.0115273139E-4,"SHAPE_Area":2.83313108016E-8,"分类":"桥梁","经度":"113.352272315749","纬度":"27.9446651458177","面积":309.139333646,"乡镇":"官桥镇","行政村":"集镇社区"}},{"type":"Feature","id":"classification.4","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35204917,27.93962157],[113.35235419,27.93950558],[113.35215847,27.93910785],[113.35184527,27.93924307],[113.35204917,27.93962157]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":4,"SHAPE_Leng":0.00154067135221,"SHAPE_Area":1.4506611583E-7,"分类":"建筑","经度":"113.352101842285","纬度":"27.9393675973425","面积":1582.97645664,"乡镇":"官桥镇","行政村":"集镇社区"}},{"type":"Feature","id":"classification.5","geometry":{"type":"MultiPolygon","coordinates":[[[[113.34532897,27.93448551],[113.34528434,27.93454715],[113.34538821,27.93457689],[113.34536207,27.93461781],[113.34538006,27.93462932],[113.34543843,27.9345499],[113.34543723,27.93455028],[113.34532897,27.93448551]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":5,"SHAPE_Leng":4.80006209437E-4,"SHAPE_Area":8.62450059207E-9,"分类":"建筑","经度":"113.345363948713","纬度":"27.9345480323622","面积":94.1148513957,"乡镇":"官桥镇","行政村":"九龙村"}},{"type":"Feature","id":"classification.6","geometry":{"type":"MultiPolygon","coordinates":[[[[113.34481274,27.93490424],[113.34519285,27.9343821],[113.34513406,27.93434872],[113.34474776,27.93488243],[113.34481274,27.93490424]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":6,"SHAPE_Leng":0.00144084487534,"SHAPE_Area":4.32447235447E-8,"分类":"建筑","经度":"113.344972600277","纬度":"27.9346281481013","面积":471.907342114,"乡镇":"官桥镇","行政村":"一江村"}},{"type":"Feature","id":"classification.7","geometry":{"type":"MultiPolygon","coordinates":[[[[113.34389062,27.93490223],[113.34407243,27.93465488],[113.34337288,27.93425139],[113.3429565,27.93476221],[113.34370029,27.93509811],[113.34371564,27.93506203],[113.34389062,27.93490223]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":7,"SHAPE_Leng":0.00286586331138,"SHAPE_Area":4.93809424132E-7,"分类":"建筑","经度":"113.343521217449","纬度":"27.934688095822","面积":5388.67501974,"乡镇":"官桥镇","行政村":"一江村"}},{"type":"Feature","id":"classification.8","geometry":{"type":"MultiPolygon","coordinates":[[[[113.3359085,27.92857038],[113.3355174,27.9288601],[113.33556454,27.92913725],[113.33652424,27.93001623],[113.33731014,27.9293762],[113.33628476,27.92888032],[113.3359085,27.92857038]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":8,"SHAPE_Leng":0.00470925925115,"SHAPE_Area":1.18378276446E-6,"分类":"建筑","经度":"113.336330080506","纬度":"27.9292894767213","面积":12918.5288591,"乡镇":"官桥镇","行政村":"一江村"}},{"type":"Feature","id":"classification.9","geometry":{"type":"MultiPolygon","coordinates":[[[[113.33768711,27.91067347],[113.33810748,27.91052595],[113.33810371,27.91050023],[113.33767041,27.91064701],[113.33768711,27.91067347]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":9,"SHAPE_Leng":9.6026382329E-4,"SHAPE_Area":1.26414420801E-8,"分类":"建筑","经度":"113.337885923221","纬度":"27.910588758117","面积":137.978538317,"乡镇":"官桥镇","行政村":"九龙村"}},{"type":"Feature","id":"classification.10","geometry":{"type":"MultiPolygon","coordinates":[[[[113.33483955,27.9135919],[113.33512849,27.91378038],[113.33549875,27.91343867],[113.3351869,27.913247],[113.33483955,27.9135919]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":11,"SHAPE_Leng":0.00170435068502,"SHAPE_Area":1.71324099676E-7,"分类":"建筑","经度":"113.33516548887","纬度":"27.9135132937705","面积":1869.90994082,"乡镇":"官桥镇","行政村":"一江村"}},{"type":"Feature","id":"classification.11","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35225786,27.945271],[113.35237934,27.94522022],[113.35220613,27.94500545],[113.35225707,27.94527173],[113.35225786,27.945271]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":17,"SHAPE_Leng":6.79764071035E-4,"SHAPE_Area":1.75673330139E-8,"分类":"建筑","经度":"113.352280821831","纬度":"27.9451656756352","面积":191.686412278,"乡镇":"官桥镇","行政村":"涧江河村"}},{"type":"Feature","id":"classification.12","geometry":{"type":"MultiPolygon","coordinates":[[[[113.3522813,27.94505941],[113.35235647,27.94502995],[113.35231042,27.94496437],[113.35225109,27.94498019],[113.35228234,27.94505796],[113.3522813,27.94505941]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":18,"SHAPE_Leng":3.07886239171E-4,"SHAPE_Area":5.66928129667E-9,"分类":"树木","经度":"113.352300517022","纬度":"27.9450101723424","面积":61.8606295823,"乡镇":"官桥镇","行政村":"集镇社区"}},{"type":"Feature","id":"classification.13","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35229084,27.94470592],[113.35231244,27.94473515],[113.35238535,27.94470048],[113.35235881,27.94465657],[113.35235819,27.94465695],[113.35229084,27.94470592]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":19,"SHAPE_Leng":2.52381110063E-4,"SHAPE_Area":3.58953558513E-9,"分类":"围堤","经度":"113.35233879403","纬度":"27.9446981569768","面积":39.1674968082,"乡镇":"官桥镇","行政村":"集镇社区"}},{"type":"Feature","id":"classification.14","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35152489,27.94469449],[113.35177,27.94474091],[113.35160856,27.94428817],[113.35151753,27.94425534],[113.35145668,27.94456752],[113.35145666,27.94456771],[113.35152489,27.94469449]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":21,"SHAPE_Leng":0.0012891265387,"SHAPE_Area":8.61249364156E-8,"分类":"树木","经度":"113.351592347573","纬度":"27.9445256059918","面积":939.759049317,"乡镇":"官桥镇","行政村":"涧江河村"}},{"type":"Feature","id":"classification.15","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35149959,27.94420436],[113.35149943,27.94420424],[113.35149897,27.94420774],[113.35149959,27.94420436]]],[[[113.35151274,27.94421428],[113.35186243,27.94441004],[113.35203152,27.9439631],[113.35170663,27.94370246],[113.3516094,27.94377218],[113.35153982,27.94398307],[113.35149959,27.94420436],[113.35151274,27.94421428]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":22,"SHAPE_Leng":0.00188538689096,"SHAPE_Area":2.28071395708E-7,"分类":"树木","经度":"113.351754519686","纬度":"27.9440547614546","面积":2488.63213016,"乡镇":"官桥镇","行政村":"一江村"}},{"type":"Feature","id":"classification.16","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35845259,27.88508072],[113.35858585,27.88505552],[113.35821604,27.88439987],[113.35808975,27.88443068],[113.35813144,27.88453167],[113.3582203,27.8845964],[113.35823806,27.88467201],[113.35826371,27.88483272],[113.35832817,27.88496161],[113.35845085,27.88508091],[113.35845259,27.88508072]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":23,"SHAPE_Leng":0.00179494910667,"SHAPE_Area":1.06524724275E-7,"分类":"树木","经度":"113.358337975037","纬度":"27.8847650408856","面积":1162.99013989,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.17","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35877773,27.88501896],[113.35897165,27.88501301],[113.3585902,27.88457207],[113.35849272,27.88443813],[113.3584171,27.88427136],[113.35831081,27.88427604],[113.35834918,27.88445969],[113.35842267,27.8845778],[113.35852387,27.88473459],[113.35865724,27.88488796],[113.35877773,27.88501896]],[[113.35872079,27.88494417],[113.35872359,27.88494286],[113.35872509,27.8849441],[113.35872079,27.88494417]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":24,"SHAPE_Leng":0.00213613205244,"SHAPE_Area":1.31279195625E-7,"分类":"树木","经度":"113.358601526054","纬度":"27.8846795349834","面积":1433.25246669,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.18","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35802774,27.88425701],[113.35836244,27.88408246],[113.35834398,27.88404423],[113.357942,27.8842528],[113.3579741,27.8842835],[113.35802774,27.88425701]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":25,"SHAPE_Leng":9.77044010952E-4,"SHAPE_Area":1.90450921226E-8,"分类":"桥梁","经度":"113.35815542793","纬度":"27.8841660302834","面积":207.927303818,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.19","geometry":{"type":"MultiPolygon","coordinates":[[[[113.357942,27.8842528],[113.35815868,27.88414038],[113.35800272,27.88387225],[113.35781198,27.88367497],[113.35761835,27.88354268],[113.35729651,27.88351954],[113.35706239,27.88350254],[113.35685622,27.88348601],[113.35669978,27.88350778],[113.35648585,27.88348828],[113.35632439,27.88347672],[113.3559592,27.88342447],[113.3559386,27.8835524],[113.3564109,27.8836464],[113.3569497,27.8836954],[113.3573176,27.8837264],[113.3575777,27.8838949],[113.3577301,27.8839229],[113.3578869,27.8841964],[113.357942,27.8842528]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":26,"SHAPE_Leng":0.00511132752035,"SHAPE_Area":4.96720155003E-7,"分类":"树木","经度":"113.357234446526","纬度":"27.8837144353488","面积":5423.03342554,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.20","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35658787,27.88337598],[113.35675977,27.88337363],[113.35692229,27.88340308],[113.35717494,27.88343815],[113.35774441,27.8835251],[113.3578063,27.883452],[113.35753287,27.88341991],[113.35727204,27.88337004],[113.35705296,27.88334044],[113.35686324,27.88332431],[113.35667,27.8832692],[113.35658787,27.88337598]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":27,"SHAPE_Leng":0.00255199823819,"SHAPE_Area":9.13721437896E-8,"分类":"树木","经度":"113.357190195211","纬度":"27.8834027284893","面积":997.575670534,"乡镇":"官桥镇","行政村":"石灰嘴村"}},{"type":"Feature","id":"classification.21","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35564928,27.88343398],[113.35575623,27.88331678],[113.35548974,27.88325688],[113.35535088,27.88317187],[113.35526768,27.88312674],[113.35516433,27.88296951],[113.35504197,27.88290213],[113.35499756,27.88297308],[113.35511182,27.88307569],[113.35515409,27.88316664],[113.35520851,27.88322301],[113.35532733,27.88329751],[113.35532512,27.88329684],[113.35564928,27.88343398]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":28,"SHAPE_Leng":0.00192756269172,"SHAPE_Area":9.43987297653E-8,"分类":"树木","经度":"113.355351200493","纬度":"27.8832026379673","面积":1030.61793651,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.22","geometry":{"type":"MultiPolygon","coordinates":[[[[113.3555884,27.8829705],[113.35553,27.8829592],[113.35547379,27.8829228],[113.3554452,27.8828844],[113.3553897,27.882837],[113.355285,27.8827696],[113.35525085,27.88283338],[113.35540969,27.88291017],[113.35546603,27.88294358],[113.35548678,27.8830084],[113.35555716,27.88302009],[113.3555884,27.8829705]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":29,"SHAPE_Leng":8.84120824215E-4,"SHAPE_Area":1.90997690103E-8,"分类":"树木","经度":"113.355410029392","纬度":"27.8828942040458","面积":208.526322804,"乡镇":"官桥镇","行政村":"石灰嘴村"}},{"type":"Feature","id":"classification.23","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35420107,27.88267442],[113.35423821,27.88275185],[113.35434161,27.88283674],[113.35479741,27.88285474],[113.35490956,27.88282274],[113.3548441,27.88270282],[113.35473042,27.88262741],[113.35460287,27.88258089],[113.35453694,27.88251398],[113.35461787,27.88245458],[113.35481926,27.88233852],[113.35478968,27.88231031],[113.35457627,27.88224544],[113.35420107,27.88267442]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":30,"SHAPE_Leng":0.00246185826058,"SHAPE_Area":2.27067188176E-7,"分类":"树木","经度":"113.354543614452","纬度":"27.8826174067157","面积":2479.06334922,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.24","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35380378,27.88213391],[113.35394483,27.88224514],[113.3541457,27.8820378],[113.35369935,27.88168841],[113.35362239,27.88179704],[113.35373968,27.88185329],[113.35370776,27.88196748],[113.35382835,27.88207715],[113.35383587,27.88207702],[113.35380378,27.88213391]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":31,"SHAPE_Leng":0.00165275564071,"SHAPE_Area":1.18292520297E-7,"分类":"树木","经度":"113.353882227247","纬度":"27.8819791239423","面积":1291.49408389,"乡镇":"官桥镇","行政村":"石灰嘴村"}},{"type":"Feature","id":"classification.25","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35370222,27.88237426],[113.35384126,27.88227651],[113.35353347,27.88185968],[113.35344356,27.88192615],[113.35360349,27.88211536],[113.3535825,27.8821883],[113.3536541,27.8822455],[113.35370222,27.88237426]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":32,"SHAPE_Leng":0.00135267009388,"SHAPE_Area":6.44858822623E-8,"分类":"树木","经度":"113.353648620025","纬度":"27.8821241496144","面积":704.042583845,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.26","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35314934,27.88178399],[113.35352975,27.88151979],[113.3532432,27.881267],[113.3528601,27.881505],[113.35314934,27.88178399]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":33,"SHAPE_Leng":0.00169815607787,"SHAPE_Area":1.73797236413E-7,"分类":"树木","经度":"113.353194585778","纬度":"27.8815211027078","面积":1897.49194489,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.27","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35290563,27.88120384],[113.35299794,27.88109913],[113.3529572,27.8810441],[113.3528841,27.8809528],[113.3526923,27.88107952],[113.35280955,27.88118352],[113.35290877,27.88119997],[113.35290563,27.88120384]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":34,"SHAPE_Leng":8.17190090721E-4,"SHAPE_Area":4.18918588859E-8,"分类":"树木","经度":"113.352856193192","纬度":"27.881086913357","面积":457.370520555,"乡镇":"官桥镇","行政村":"石灰嘴村"}},{"type":"Feature","id":"classification.28","geometry":{"type":"MultiPolygon","coordinates":[[[[113.3524114,27.8811683],[113.35279514,27.88089017],[113.35246055,27.88070705],[113.3522379,27.8805774],[113.3520758,27.8804793],[113.35179593,27.88040523],[113.3515498,27.8804695],[113.3514692,27.880498],[113.35127683,27.88076772],[113.3515217,27.8809384],[113.3516917,27.8809666],[113.3518493,27.8809876],[113.3519313,27.880947],[113.3521794,27.88106503],[113.3524114,27.8811683]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":35,"SHAPE_Leng":0.00351314630885,"SHAPE_Area":6.19738030418E-7,"分类":"树木","经度":"113.35199951337","纬度":"27.8807738175607","面积":6766.24251374,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.29","geometry":{"type":"MultiPolygon","coordinates":[[[[113.3514913,27.8809586],[113.3512608,27.8807633],[113.3510671,27.8808525],[113.3508521,27.8810392],[113.3507388,27.8812012],[113.3505324,27.8814574],[113.35033001,27.88175555],[113.3502772,27.8819148],[113.3506991,27.8821193],[113.3508401,27.8818098],[113.35098731,27.88167881],[113.35111097,27.88141414],[113.35122196,27.8812289],[113.3514913,27.8809586]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":36,"SHAPE_Leng":0.00375060451001,"SHAPE_Area":6.35642779937E-7,"分类":"树木","经度":"113.350852125205","纬度":"27.8814353027705","面积":6939.8388764,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.30","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35062781,27.88236814],[113.35070749,27.8823638],[113.35070491,27.88229354],[113.35069429,27.88223707],[113.35069643,27.8821325],[113.35064854,27.88209479],[113.35052253,27.88209658],[113.35053468,27.88219247],[113.3505406,27.8822801],[113.35058981,27.88231925],[113.35062879,27.88228934],[113.35063625,27.88232383],[113.35062714,27.88236816],[113.35062781,27.88236814]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":37,"SHAPE_Leng":8.76848969939E-4,"SHAPE_Area":3.75356896743E-8,"分类":"树木","经度":"113.350620879619","纬度":"27.882216794358","面积":409.805173067,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.31","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35044728,27.88235976],[113.35044591,27.88235859],[113.35044643,27.88235996],[113.35044728,27.88235976]]],[[[113.35044643,27.88235996],[113.35026008,27.88240333],[113.3503579,27.8825948],[113.3503521,27.8827604],[113.3504243,27.8828913],[113.350491,27.8830448],[113.35050414,27.88308581],[113.35058888,27.88300672],[113.35053033,27.88297071],[113.35055293,27.88289751],[113.35050622,27.88284936],[113.35049351,27.88275886],[113.35054902,27.88265406],[113.35051284,27.88253412],[113.35044643,27.88235996]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":38,"SHAPE_Leng":0.00178608937595,"SHAPE_Area":1.00860040502E-7,"分类":"树木","经度":"113.350436400086","纬度":"27.8826674473851","面积":1101.1597698,"乡镇":"官桥镇","行政村":"石灰嘴村"}},{"type":"Feature","id":"classification.32","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35087261,27.88401412],[113.35087385,27.88400933],[113.35084867,27.88390113],[113.35081755,27.88382885],[113.35079083,27.8837732],[113.35082024,27.88370466],[113.35071979,27.88347002],[113.3506028,27.88354739],[113.3506355,27.8836876],[113.3507168,27.8837748],[113.3507315,27.8838666],[113.3508202,27.8840208],[113.35087261,27.88401412]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":39,"SHAPE_Leng":0.00131344313451,"SHAPE_Area":6.08356966489E-8,"分类":"树木","经度":"113.350739808528","纬度":"27.8837218049913","面积":664.179732835,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.33","geometry":{"type":"MultiPolygon","coordinates":[[[[113.350861,27.8841912],[113.3508849,27.8842201],[113.3508827,27.8842174],[113.3509035,27.8842415],[113.3509188,27.8842815],[113.3509412,27.8843013],[113.3509643,27.88435234],[113.3510071,27.88438336],[113.35102268,27.88431919],[113.35105532,27.88426325],[113.35093816,27.88413824],[113.350861,27.8841912]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":40,"SHAPE_Leng":6.50149489848E-4,"SHAPE_Area":2.17778587612E-8,"分类":"树木","经度":"113.350964187935","纬度":"27.8842511864019","面积":237.760824968,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.34","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35097236,27.883685],[113.35091315,27.88369586],[113.35091316,27.8836957],[113.35091214,27.88369588],[113.35094261,27.88376937],[113.35101074,27.88389145],[113.35104575,27.88400366],[113.35111143,27.88410579],[113.35116281,27.88421414],[113.35116937,27.8842382],[113.35123257,27.88422548],[113.35119653,27.88412732],[113.35114713,27.88404819],[113.35112775,27.88400614],[113.35105367,27.88387312],[113.35100361,27.88374774],[113.35098315,27.88368691],[113.35096612,27.88366034],[113.35091454,27.88366689],[113.35091316,27.8836957],[113.35097236,27.883685]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":41,"SHAPE_Leng":0.00149719467468,"SHAPE_Area":3.85933036825E-8,"分类":"树木","经度":"113.351068182992","纬度":"27.883953100626","面积":421.345524095,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.35","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35136094,27.88483909],[113.35158035,27.88476778],[113.35143076,27.88459701],[113.35138758,27.8845383],[113.35132001,27.88443274],[113.35128563,27.88437101],[113.35122051,27.88441653],[113.3510865,27.8844951],[113.3511259,27.8845407],[113.351129,27.8845888],[113.3512077,27.8846487],[113.351269,27.884719],[113.35136094,27.88483909]]],[[[113.35136056,27.88483922],[113.35136259,27.88484126],[113.35136094,27.88483909],[113.35136056,27.88483922]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":42,"SHAPE_Leng":0.00141928248807,"SHAPE_Area":1.00739709152E-7,"分类":"树木","经度":"113.351321924375","纬度":"27.8846180421813","面积":1099.82760428,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.36","geometry":{"type":"MultiPolygon","coordinates":[[[[113.3519005,27.8855683],[113.3522646,27.88547096],[113.3522543,27.88545207],[113.351906,27.8855429],[113.3519005,27.8855683]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":43,"SHAPE_Leng":7.84330565096E-4,"SHAPE_Area":8.11273364073E-9,"分类":"桥梁","经度":"113.352078304922","纬度":"27.8855094462987","面积":88.5703264869,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.37","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35251058,27.88630292],[113.35251091,27.88630512],[113.35252039,27.88611094],[113.3524288,27.8858335],[113.35238231,27.88569063],[113.3522646,27.88547096],[113.35213935,27.88551404],[113.352171,27.88559873],[113.35222128,27.88572464],[113.35224804,27.88580655],[113.35228317,27.88590264],[113.35232572,27.88600648],[113.35234786,27.8860985],[113.35239812,27.88633542],[113.35251058,27.88630292]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":44,"SHAPE_Leng":0.00200129864023,"SHAPE_Area":1.32182870907E-7,"分类":"树木","经度":"113.352356025328","纬度":"27.8858950601567","面积":1443.09371787,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.38","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35230454,27.88672926],[113.35230892,27.88673301],[113.35230895,27.88672972],[113.35230454,27.88672926]]],[[[113.35230895,27.88672972],[113.35245534,27.88674483],[113.35241483,27.88661088],[113.35230999,27.88663368],[113.35230895,27.88672972]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":45,"SHAPE_Leng":5.0393796657E-4,"SHAPE_Area":1.45283168308E-8,"分类":"围堤","经度":"113.352376246538","纬度":"27.8866823513707","面积":158.610384772,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.39","geometry":{"type":"MultiPolygon","coordinates":[[[[113.35074999,27.88747932],[113.35074948,27.88747962],[113.35075002,27.88747933],[113.35074999,27.88747932]]],[[[113.35075002,27.88747933],[113.35087103,27.88755617],[113.351054,27.88744383],[113.35100261,27.88734522],[113.35075002,27.88747933]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":46,"SHAPE_Leng":7.5645372137E-4,"SHAPE_Area":2.97265265783E-8,"分类":"树木","经度":"113.35091513884","纬度":"27.8874555030459","面积":324.531316652,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.40","geometry":{"type":"MultiPolygon","coordinates":[[[[113.3510311,27.8873318],[113.35114904,27.88739685],[113.35123502,27.8873345],[113.35127601,27.88733559],[113.35134089,27.88729151],[113.35139088,27.88730439],[113.35143614,27.88725408],[113.35147323,27.88722957],[113.35146544,27.88718017],[113.35149583,27.88715637],[113.35149217,27.88711167],[113.35153142,27.88703162],[113.35158821,27.88695545],[113.35164039,27.88688353],[113.35169546,27.88678948],[113.35171288,27.88672533],[113.3516113,27.8866901],[113.3515105,27.8868468],[113.35141291,27.88701696],[113.35127458,27.88719318],[113.35123123,27.88722959],[113.3510311,27.8873318]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":47,"SHAPE_Leng":0.00210137440248,"SHAPE_Area":1.12834227982E-7,"分类":"树木","经度":"113.351421111009","纬度":"27.8870763330637","面积":1231.84222673,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.41","geometry":{"type":"MultiPolygon","coordinates":[[[[113.34873062,27.88850275],[113.34882382,27.88845087],[113.34882299,27.88845056],[113.3488262,27.88844955],[113.34882382,27.88845087],[113.34888367,27.8884734],[113.34895403,27.88839676],[113.34904364,27.88831597],[113.34906961,27.88827446],[113.34909817,27.88825297],[113.34915926,27.88824524],[113.34921582,27.88817648],[113.34929604,27.88820853],[113.34933772,27.88819732],[113.34939513,27.88816864],[113.34944117,27.88816022],[113.34942954,27.88811935],[113.34949801,27.88810482],[113.34960051,27.88812312],[113.34963817,27.88807569],[113.34959454,27.88799622],[113.34952423,27.88802511],[113.34937941,27.88808774],[113.34925208,27.88811379],[113.34917701,27.88817141],[113.34910336,27.88819463],[113.34897722,27.88822616],[113.34888476,27.88827475],[113.34883903,27.88829749],[113.34880907,27.88835339],[113.3487632,27.8883493],[113.34865369,27.88842867],[113.34873062,27.88850275]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":48,"SHAPE_Leng":0.00241864291323,"SHAPE_Area":9.75135308364E-8,"分类":"树木","经度":"113.349101032442","纬度":"27.8882550666781","面积":1064.56796346,"乡镇":"官桥镇","行政村":"石灰嘴村"}},{"type":"Feature","id":"classification.42","geometry":{"type":"MultiPolygon","coordinates":[[[[113.34858031,27.88856326],[113.34858945,27.88861324],[113.34863148,27.88861825],[113.34867572,27.88861392],[113.34871274,27.8885739],[113.34875044,27.88856538],[113.34874237,27.88852755],[113.34870017,27.88851466],[113.34865387,27.88849826],[113.34858684,27.88856673],[113.34858595,27.88856317],[113.34858031,27.88856326]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":49,"SHAPE_Leng":4.67804189356E-4,"SHAPE_Area":1.27510429164E-8,"分类":"树木","经度":"113.348661084406","纬度":"27.8885620700701","面积":139.204345373,"乡镇":"官桥镇","行政村":"石灰嘴村"}},{"type":"Feature","id":"classification.43","geometry":{"type":"MultiPolygon","coordinates":[[[[113.3484907,27.8885548],[113.34844074,27.88859175],[113.34839142,27.88862345],[113.3482932,27.8886725],[113.34799926,27.88882838],[113.34798906,27.88888131],[113.34802666,27.88890502],[113.34806606,27.88893801],[113.34812918,27.88891187],[113.34817049,27.88888395],[113.34819659,27.88886058],[113.34821769,27.88883014],[113.34825504,27.8888424],[113.34831619,27.88883706],[113.34835932,27.88885638],[113.34839469,27.88881424],[113.34840572,27.88876534],[113.34840836,27.88873808],[113.34845362,27.88874376],[113.34851942,27.88872974],[113.34855415,27.88865825],[113.3484907,27.8885548]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":50,"SHAPE_Leng":0.00149745892624,"SHAPE_Area":8.13873221298E-8,"分类":"树木","经度":"113.348283666303","纬度":"27.8887578333184","面积":888.510907878,"乡镇":"官桥镇","行政村":"石灰嘴村"}},{"type":"Feature","id":"classification.44","geometry":{"type":"MultiPolygon","coordinates":[[[[113.34822214,27.88907358],[113.34822698,27.8890735],[113.3482223,27.8890741],[113.34823601,27.88911847],[113.34830768,27.8891151],[113.34841172,27.88908038],[113.34847037,27.88903426],[113.34851394,27.88899842],[113.34844521,27.8889516],[113.3484001,27.88895309],[113.34834215,27.88895694],[113.34826041,27.8889791],[113.34822741,27.88901906],[113.34822055,27.88907432],[113.3482223,27.8890741],[113.34822214,27.88907358]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":51,"SHAPE_Leng":7.49321305903E-4,"SHAPE_Area":3.28580581568E-8,"分类":"树木","经度":"113.348349008196","纬度":"27.8890297734009","面积":358.712910229,"乡镇":"官桥镇","行政村":"苏故村"}},{"type":"Feature","id":"classification.45","geometry":{"type":"MultiPolygon","coordinates":[[[[113.34776827,27.88911002],[113.34776818,27.88910572],[113.347842,27.8890529],[113.34790338,27.8890583],[113.3479707,27.88900272],[113.34794837,27.88893935],[113.34786927,27.88888456],[113.3478307,27.8889262],[113.3477662,27.8889738],[113.3477157,27.88898987],[113.34769538,27.88905683],[113.34776827,27.88911002]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":52,"SHAPE_Leng":7.57512545433E-4,"SHAPE_Area":3.23199716199E-8,"分类":"树木","经度":"113.347835600411","纬度":"27.8890008489655","面积":352.838481182,"乡镇":"官桥镇","行政村":"石灰嘴村"}},{"type":"Feature","id":"classification.46","geometry":{"type":"MultiPolygon","coordinates":[[[[113.34763285,27.88899967],[113.34763287,27.88899971],[113.34763444,27.88899905],[113.34763285,27.88899967]]],[[[113.34763287,27.88899971],[113.3475689,27.8890263],[113.3475098,27.88905562],[113.3474502,27.889093],[113.3474499,27.8891208],[113.34741953,27.88913908],[113.34736251,27.88916512],[113.3472703,27.8892272],[113.34729323,27.88924775],[113.34730868,27.88929117],[113.34738444,27.88932784],[113.34747194,27.88934855],[113.34752943,27.88932322],[113.34755756,27.88928192],[113.3475986,27.88924111],[113.34756988,27.88921797],[113.34757464,27.88917706],[113.34760175,27.88912575],[113.34767085,27.88907802],[113.34763287,27.88899971]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":53,"SHAPE_Leng":0.00117488987874,"SHAPE_Area":6.67997116495E-8,"分类":"树木","经度":"113.347478908051","纬度":"27.8891920511903","面积":729.253679841,"乡镇":"官桥镇","行政村":"石灰嘴村"}},{"type":"Feature","id":"classification.47","geometry":{"type":"MultiPolygon","coordinates":[[[[113.34629248,27.88982702],[113.34630915,27.88981528],[113.34627199,27.88977437],[113.34625924,27.88978103],[113.34629241,27.88982416],[113.34629248,27.88982702]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":54,"SHAPE_Leng":1.47320834115E-4,"SHAPE_Area":9.17060656956E-10,"分类":"建筑","经度":"113.346284372826","纬度":"27.8898002658879","面积":10.0114993845,"乡镇":"官桥镇","行政村":"石灰嘴村"}},{"type":"Feature","id":"classification.48","geometry":{"type":"MultiPolygon","coordinates":[[[[113.34634042,27.88980758],[113.34635719,27.88980013],[113.34631912,27.88975423],[113.34630471,27.88975877],[113.34633721,27.88980835],[113.34633919,27.88980653],[113.34633857,27.889806],[113.34633797,27.88980619],[113.34633796,27.88980548],[113.34633857,27.889806],[113.34634038,27.88980543],[113.34633919,27.88980653],[113.34634042,27.88980758]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":55,"SHAPE_Leng":1.63162883655E-4,"SHAPE_Area":1.04848902417E-9,"分类":"建筑","经度":"113.34633068143","纬度":"27.8897819395761","面积":11.4462979182,"乡镇":"官桥镇","行政村":"石灰嘴村"}},{"type":"Feature","id":"classification.49","geometry":{"type":"MultiPolygon","coordinates":[[[[113.34693001,27.88939734],[113.34693,27.88939686],[113.34692891,27.88939592],[113.34685559,27.88950986],[113.34683274,27.88957136],[113.34687922,27.88960877],[113.34691382,27.88956855],[113.34695711,27.88955731],[113.34702108,27.8895333],[113.34707481,27.88953286],[113.34712274,27.88953777],[113.34714342,27.8894997],[113.3472078,27.88946995],[113.34726721,27.88940878],[113.34729071,27.88935252],[113.34729574,27.88928654],[113.34726726,27.88923689],[113.34722109,27.88924861],[113.3470827,27.88930067],[113.34693001,27.88939734]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":56,"SHAPE_Leng":0.00129080858427,"SHAPE_Area":8.39886090323E-8,"分类":"树木","经度":"113.347081483191","纬度":"27.8894179611638","面积":916.902833435,"乡镇":"官桥镇","行政村":"石灰嘴村"}},{"type":"Feature","id":"classification.50","geometry":{"type":"MultiPolygon","coordinates":[[[[113.34681028,27.88987542],[113.34690893,27.88983984],[113.34694951,27.88980286],[113.34697571,27.88977185],[113.34700034,27.88974279],[113.3470576,27.88970648],[113.34711008,27.88969794],[113.34713661,27.88968221],[113.34709193,27.88965385],[113.34705096,27.88962303],[113.34700038,27.88962007],[113.34698959,27.889668],[113.34696762,27.8896956],[113.34693279,27.88970049],[113.34690963,27.88969802],[113.3468572,27.88973376],[113.34684538,27.88975879],[113.34684794,27.88977785],[113.34681658,27.88976883],[113.34679816,27.88978682],[113.34677119,27.88980733],[113.34676269,27.8898366],[113.34675503,27.88985535],[113.34680116,27.88987605],[113.34681029,27.8898759],[113.34681028,27.88987542]]]]},"geometry_name":"the_geom","properties":{"OBJECTID":57,"SHAPE_Leng":0.0010015163773,"SHAPE_Area":3.39827103022E-8,"分类":"树木","经度":"113.346930823089","纬度":"27.8897518108543","面积":370.987771628,"乡镇":"官桥镇","行政村":"苏故村"}}],"totalFeatures":802,"numberMatched":802,"numberReturned":50,"timeStamp":"2023-02-22T08:48:07.423Z","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG::4326"}}} \ No newline at end of file diff --git a/src/App.vue b/src/App.vue index 2e04f59..d00a81f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -7,21 +7,14 @@ * @FilePath: \gis\src\App.vue --> diff --git a/src/assets/img/Administrative .png b/src/assets/img/Administrative .png new file mode 100644 index 0000000..df4a038 Binary files /dev/null and b/src/assets/img/Administrative .png differ diff --git a/src/assets/img/TDMap.png b/src/assets/img/TDMap.png new file mode 100644 index 0000000..e6bb191 Binary files /dev/null and b/src/assets/img/TDMap.png differ diff --git a/src/assets/img/located.png b/src/assets/img/located.png index 4018154..d07d87e 100644 Binary files a/src/assets/img/located.png and b/src/assets/img/located.png differ diff --git a/src/assets/img/location.png b/src/assets/img/location.png deleted file mode 100644 index 771d163..0000000 Binary files a/src/assets/img/location.png and /dev/null differ diff --git a/src/assets/img/measureArea.png b/src/assets/img/measureArea.png new file mode 100644 index 0000000..2bc1d63 Binary files /dev/null and b/src/assets/img/measureArea.png differ diff --git a/src/assets/img/measureLength.png b/src/assets/img/measureLength.png new file mode 100644 index 0000000..092beee Binary files /dev/null and b/src/assets/img/measureLength.png differ diff --git a/src/assets/img/satelliteMap.png b/src/assets/img/satelliteMap.png new file mode 100644 index 0000000..94649b6 Binary files /dev/null and b/src/assets/img/satelliteMap.png differ diff --git a/src/assets/img/zoomIn.png b/src/assets/img/zoomIn.png new file mode 100644 index 0000000..33eb0e5 Binary files /dev/null and b/src/assets/img/zoomIn.png differ diff --git a/src/assets/img/zoomout.png b/src/assets/img/zoomout.png new file mode 100644 index 0000000..ee4b080 Binary files /dev/null and b/src/assets/img/zoomout.png differ diff --git a/src/main.js b/src/main.js index b4a96b6..4e47a22 100644 --- a/src/main.js +++ b/src/main.js @@ -16,6 +16,7 @@ function setupApp() { setupRouter(app) app.mount('#app') + } setupApp() diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index 2b1b3e2..a767102 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -1,772 +1,476 @@ diff --git a/src/views/dashboard/tools/draw.js b/src/views/dashboard/tools/draw.js new file mode 100644 index 0000000..8b00adc --- /dev/null +++ b/src/views/dashboard/tools/draw.js @@ -0,0 +1,133 @@ +export default { + tempEntities: [], + pointNum: 0, + floatingPoint: undefined, + activeShape: undefined, + viewer:null, + /** + * 根据类型绘制对象 + * @param {} type 绘制类型 + * @param {*} view cesium view + */ + draw(type, viewer) { + this.viewer=viewer + let position = [] + let tempPoints = [] + let activeShapePoints = [] + //创建场景的canvas元素 + let handler = new Cesium.ScreenSpaceEventHandler(this.viewer.scene.canvas) + switch(type){ + //绘制线 + case 'Polyline': + //监听鼠标移动 + handler.setInputAction(function(movement){ + if(Cesium.defined(this.floatingPoint)){ + let newPosition=this.viewer.scene.pickPosition(movement.endPosition) + if(Cesium.defined(newPosition)){ + this.floatingPoint.position.setValue(newPosition) + activeShapePoints.pop() + activeShapePoints.push(newPosition) + } + } + },Cesium.ScreenSpaceEventType.MOUSE_MOVE) + //左键单击开始画线 + handler.setInputAction(function(click){ + let earthPosition=viewer.scene.pickPosition(click.position) + if(Cesium.defined(earthPosition)){ + this.floatingPoint=this.drawPoint(earthPosition) + + } + + //获取位置信息 + //从相机位置创建一条射线,这条射线通过世界中movement.position像素所在的坐标,返回Cartesian3坐标 + let ray=this.viewer.camera.getPickRay(click.position) + //找到射线与渲染的地球表面之间的交点,射线必须以世界坐标给出,返回Cartesian3坐标 + position=this.viewer.scene.globe.pick(ray,this.viewer.scene) + tempPoints.push(position)//记录点位 + this.pointNum+=1 + let tempLength=tempPoints.length//记录点数 + //调用绘制点的接口 + let point=this.drawPointLabel(tempPoints[tempPoints.length-1],JSON.stringify(this.pointNum)) + tempEntities.push(point) + //存在超过一个点的时候 + if(tempLength>1){ + //绘制线 + let pointline=this.drawPolyline([temPoints[tempPoints.length-2],tempPoints[tempPoints.length-1]]) + tempEntities.push(pointline)//保存记录 + } + }) + } + }, + //绘制点 + drawPoint(position){ + //本质上就是添加一个点的实体 + return this.viewer.entities.add({ + position:position, + point:{ + color:Cesium.Color.WHEAT, + pixelSize:5, + outlineWidth:3, + disableDepthTestDistance:Number.POSITIVE_INFINITY, + heightReference:Cesium.HeightReference.CLAMP_TO_GROUND//规定贴地 + } + }) + }, + //绘制面几何对象 + drawPolygon(positions){ + if(positions.length<2) return + return this.viewer.entities.add({ + name:'面几何对象', + polygon:{ + hierarchy:positions, + material:new Cesium.ColorMaterialProperty( + Cesium.Color.WHEAT.withAlpha(0.4) + ) + } + }) + }, + drawPointLabel(position,pointNum){ + //本质上就是添加一个点的实体 + return this.viewer.entities.add({ + name:'点几何对象', + position:position, + point:{ + color:Cesium.Color.WHEAT, + pixelSize:5, + outlineWidth:3, + disableDepthTestDistance:Number.POSITIVE_INFINITY, + heightReference:Cesium.HeightReference.CLAMP_TO_GROUND//规定贴地 + }, + label:{ + text:pointNum, + font:'30px sans-serif', + fillColor:Cesium.Color.WHITE, + outlineWidth:2, + backgroundColor:Cesium.Color.BLACK, + showBackground:true, + style:Cesium.LabelStyle.FILL, + verticalOrigin:Cesium.VerticalOrigin.BOTTOM, + horizontalOrigin:Cesium.HorizontalOrigin.CENTER + } + }) + + + }, + drawPolyline(positions){ + if(positions.length<1) return + return this.viewer.entities.add({ + name:'线几何对象', + polyline:{ + position:positions, + width:5.0, + material:new Cesium.PolylineGlowMaterialProperty({ + color:Cesium.Color.WHITE + }), + depthFailMaterial:new Cesium.PolylineGlowMaterialProperty({ + + }) + } + }) + } + + +} \ No newline at end of file diff --git a/vite.config.js b/vite.config.js index a25641f..8281ff4 100644 --- a/vite.config.js +++ b/vite.config.js @@ -16,10 +16,12 @@ export default defineConfig(({ command, mode }) => { const env = loadEnv(mode, process.cwd()) const viteEnv = wrapperEnv(env) const { VITE_PORT, VITE_PUBLIC_PATH, VITE_PROXY } = viteEnv + return { root, base: VITE_PUBLIC_PATH || '/', plugins: createVitePlugins(viteEnv, isBuild), + lintOnSave: false, resolve: { alias: {