'20191207'
Showing
12 changed files
with
50 additions
and
71 deletions
... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
2 | * @Author: jiangbotao | 2 | * @Author: jiangbotao |
3 | * @Date: 2019-12-03 22:31:52 | 3 | * @Date: 2019-12-03 22:31:52 |
4 | * @LastEditors: jiangbotao | 4 | * @LastEditors: jiangbotao |
5 | * @LastEditTime: 2019-12-04 08:14:45 | 5 | * @LastEditTime: 2019-12-07 14:05:19 |
6 | * @FilePath: \superglobevue\README.md | 6 | * @FilePath: \superglobevue\README.md |
7 | --> | 7 | --> |
8 | # superglobevue | 8 | # superglobevue |
... | @@ -11,13 +11,22 @@ | ... | @@ -11,13 +11,22 @@ |
11 | 11 | ||
12 | SuperGlobeVue是基于vue-cli3和supermap cesium 的一款Globe地球视图。 | 12 | SuperGlobeVue是基于vue-cli3和supermap cesium 的一款Globe地球视图。 |
13 | 13 | ||
14 | 系统通过vue.config.js进行了eslint的配置。不用担心vue写法中的一系列配置和语法问题。 | ||
14 | 15 | ||
15 | - 数据配置文件为config/urlConfig.vue | 16 | - 数据配置文件为config/urlConfig.vue |
16 | - 修改显示组件主要为views/Home.vue中的第15行 | 17 | - 修改显示组件主要为views/Home.vue中的第15行 |
17 | - Globe的主要视图是src/componnets/viewer.vue | 18 | - Globe的主要视图是src/componnets/viewer.vue |
18 | - | ||
19 | 19 | ||
20 | 系统通过vue.config.js进行了eslint的配置。 | 20 | ## 2、功能组件 |
21 | |||
22 | - viewer_ymo.vue 淹没分析 | ||
23 | - viewer_tdt.vue 加载天地图数据 | ||
24 | - viewer_s3m.vue 加载倾斜摄影数据+矢量面(构成水面) | ||
25 | - viewer_s3m_single.vue 添加铁岭倾斜摄影数据+矢量面数据+矢量单体化查询效果 | ||
26 | - viewer_s3m_wz.vue 自定义添加温州倾斜摄影数据+矢量面数据+单体化查询 | ||
27 | - viewer_ms3m.vue 通过scene和addS3MTilesLayerByScp两种方式添加倾斜摄影场景和图层 | ||
28 | - viewer_ming.vue 多个栅格图层面的动画效果 | ||
29 | - viewer_changeview.vue 地图视图效果,在10000米以上不能改变角度,10000米以下能够改动视角 | ||
21 | 30 | ||
22 | ## 2、设置 | 31 | ## 2、设置 |
23 | ### 项目依赖库安装 | 32 | ### 项目依赖库安装 | ... | ... |
This diff is collapsed.
Click to expand it.
... | @@ -9,7 +9,6 @@ | ... | @@ -9,7 +9,6 @@ |
9 | "lint": "vue-cli-service lint" | 9 | "lint": "vue-cli-service lint" |
10 | }, | 10 | }, |
11 | "dependencies": { | 11 | "dependencies": { |
12 | "ant-design-vue": "^1.4.8", | ||
13 | "core-js": "^3.4.3", | 12 | "core-js": "^3.4.3", |
14 | "vue": "^2.6.10", | 13 | "vue": "^2.6.10", |
15 | "vue-router": "^3.1.3" | 14 | "vue-router": "^3.1.3" | ... | ... |
... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
3 | * 添加倾斜摄影场景和倾斜摄影图层 | 3 | * 添加倾斜摄影场景和倾斜摄影图层 |
4 | * @Date: 2019-12-02 09:05:50 | 4 | * @Date: 2019-12-02 09:05:50 |
5 | * @LastEditors: jiangbotao | 5 | * @LastEditors: jiangbotao |
6 | * @LastEditTime: 2019-12-04 20:20:18 | 6 | * @LastEditTime: 2019-12-07 14:03:39 |
7 | * @FilePath: \WebGL_Webpack_Vue\components\viewer.vue | 7 | * @FilePath: \WebGL_Webpack_Vue\components\viewer.vue |
8 | --> | 8 | --> |
9 | <template> | 9 | <template> | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * 1、加载倾斜摄影模块 | ||
3 | * 2、加载一个矢量面对象并将其设置为水面效果 | ||
2 | * @Author: jiangbotao | 4 | * @Author: jiangbotao |
3 | * @Date: 2019-12-03 22:52:56 | 5 | * @Date: 2019-12-03 22:52:56 |
4 | * @LastEditors: jiangbotao | 6 | * @LastEditors: jiangbotao |
... | @@ -105,12 +107,12 @@ export default { | ... | @@ -105,12 +107,12 @@ export default { |
105 | pointer-events: auto; | 107 | pointer-events: auto; |
106 | position: absolute; | 108 | position: absolute; |
107 | right: 10px; | 109 | right: 10px; |
108 | top: 70px; | 110 | top: 10px; |
109 | width: 128px; | 111 | width: 128px; |
110 | height: 128px; | 112 | height: 128px; |
111 | overflow: hidden; | 113 | overflow: hidden; |
112 | } | 114 | } |
113 | .sm-zoom { | 115 | .sm-zoom { |
114 | top: 190px; | 116 | top: 130px; |
115 | } | 117 | } |
116 | </style> | 118 | </style> | ... | ... |
... | @@ -6,7 +6,7 @@ | ... | @@ -6,7 +6,7 @@ |
6 | * 3、使用Popup来弹出倾斜摄影覆盖面的信息 | 6 | * 3、使用Popup来弹出倾斜摄影覆盖面的信息 |
7 | * @Date: 2019-12-03 22:52:56 | 7 | * @Date: 2019-12-03 22:52:56 |
8 | * @LastEditors: jiangbotao | 8 | * @LastEditors: jiangbotao |
9 | * @LastEditTime: 2019-12-07 11:56:15 | 9 | * @LastEditTime: 2019-12-07 14:01:32 |
10 | * @FilePath: \superglobevue\src\components\viewer.vue | 10 | * @FilePath: \superglobevue\src\components\viewer.vue |
11 | --> | 11 | --> |
12 | <template> | 12 | <template> |
... | @@ -231,10 +231,10 @@ export default { | ... | @@ -231,10 +231,10 @@ export default { |
231 | 231 | ||
232 | <style> | 232 | <style> |
233 | .compass { | 233 | .compass { |
234 | top: 60px; | 234 | top: 10px; |
235 | } | 235 | } |
236 | .navigation-controls { | 236 | .navigation-controls { |
237 | top: 180px; | 237 | top: 130px; |
238 | } | 238 | } |
239 | .bubble { | 239 | .bubble { |
240 | padding: 5px; | 240 | padding: 5px; | ... | ... |
... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
2 | * @Author: jiangbotao | 2 | * @Author: jiangbotao |
3 | * @Date: 2019-12-03 22:52:56 | 3 | * @Date: 2019-12-03 22:52:56 |
4 | * @LastEditors: jiangbotao | 4 | * @LastEditors: jiangbotao |
5 | * @LastEditTime: 2019-12-07 12:44:32 | 5 | * @LastEditTime: 2019-12-07 14:02:03 |
6 | * @FilePath: \superglobevue\src\components\viewer.vue | 6 | * @FilePath: \superglobevue\src\components\viewer.vue |
7 | --> | 7 | --> |
8 | <template> | 8 | <template> |
... | @@ -254,9 +254,9 @@ export default { | ... | @@ -254,9 +254,9 @@ export default { |
254 | text-align: left; | 254 | text-align: left; |
255 | } | 255 | } |
256 | .compass { | 256 | .compass { |
257 | top: 60px; | 257 | top: 10px; |
258 | } | 258 | } |
259 | .navigation-controls { | 259 | .navigation-controls { |
260 | top: 170px; | 260 | top: 120px; |
261 | } | 261 | } |
262 | </style> | 262 | </style> | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Author: jiangbotao | 2 | * @Author: jiangbotao |
3 | * 演示大场景被淹没 | 3 | * 演示倾斜摄影大场景被淹没 |
4 | * 使用场景中的HYP对象 | ||
4 | * @Date: 2019-12-02 09:05:50 | 5 | * @Date: 2019-12-02 09:05:50 |
5 | * @LastEditors: jiangbotao | 6 | * @LastEditors: jiangbotao |
6 | * @LastEditTime: 2019-12-04 22:03:19 | 7 | * @LastEditTime: 2019-12-07 13:52:58 |
7 | * @FilePath: \WebGL_Webpack_Vue\components\viewer.vue | 8 | * @FilePath: \WebGL_Webpack_Vue\components\viewer.vue |
8 | --> | 9 | --> |
9 | <template> | 10 | <template> |
... | @@ -130,18 +131,15 @@ export default { | ... | @@ -130,18 +131,15 @@ export default { |
130 | 131 | ||
131 | var layer = scene.layers.find("srsb"); | 132 | var layer = scene.layers.find("srsb"); |
132 | var hyp = new Cesium.HypsometricSetting(); | 133 | var hyp = new Cesium.HypsometricSetting(); |
133 | |||
134 | //创建分层设色对象 设置最大/最小可见高度 颜色表 显示模式 透明度及线宽 | 134 | //创建分层设色对象 设置最大/最小可见高度 颜色表 显示模式 透明度及线宽 |
135 | var colorTable = new Cesium.ColorTable(); | 135 | var colorTable = new Cesium.ColorTable(); |
136 | colorTable.insert(100, new Cesium.Color(0, 39/255, 148/255)); | 136 | colorTable.insert(100, new Cesium.Color(0, 39/255, 148/255)); |
137 | colorTable.insert(0, new Cesium.Color(149/255, 232/255, 249/255)); | 137 | colorTable.insert(0, new Cesium.Color(149/255, 232/255, 249/255)); |
138 | |||
139 | hyp.MaxVisibleValue = currentHeight; | 138 | hyp.MaxVisibleValue = currentHeight; |
140 | hyp.MinVisibleValue = minValue; | 139 | hyp.MinVisibleValue = minValue; |
141 | hyp.ColorTable = colorTable; | 140 | hyp.ColorTable = colorTable; |
142 | hyp.DisplayMode = Cesium.HypsometricSettingEnum.DisplayMode.FACE; | 141 | hyp.DisplayMode = Cesium.HypsometricSettingEnum.DisplayMode.FACE; |
143 | hyp.Opacity = 0.6; | 142 | hyp.Opacity = 0.6; |
144 | |||
145 | hyp.LineInterval = 10.0; | 143 | hyp.LineInterval = 10.0; |
146 | 144 | ||
147 | //设置图层分层设色属性 | 145 | //设置图层分层设色属性 |
... | @@ -149,7 +147,6 @@ export default { | ... | @@ -149,7 +147,6 @@ export default { |
149 | hypsometricSetting : hyp, | 147 | hypsometricSetting : hyp, |
150 | analysisMode : Cesium.HypsometricSettingEnum.AnalysisRegionMode.ARM_ALL | 148 | analysisMode : Cesium.HypsometricSettingEnum.AnalysisRegionMode.ARM_ALL |
151 | }; | 149 | }; |
152 | |||
153 | currentHeight += (parseInt(document.getElementById("speed").value))/10; | 150 | currentHeight += (parseInt(document.getElementById("speed").value))/10; |
154 | }; | 151 | }; |
155 | 152 | ||
... | @@ -158,7 +155,6 @@ export default { | ... | @@ -158,7 +155,6 @@ export default { |
158 | var layer = scene.layers.find("sci_park"); | 155 | var layer = scene.layers.find("sci_park"); |
159 | var hyp = new Cesium.HypsometricSetting(); | 156 | var hyp = new Cesium.HypsometricSetting(); |
160 | hyp.MaxVisibleValue = 0; | 157 | hyp.MaxVisibleValue = 0; |
161 | |||
162 | layer.hypsometricSetting = { | 158 | layer.hypsometricSetting = { |
163 | hypsometricSetting : hyp, | 159 | hypsometricSetting : hyp, |
164 | analysisMode : Cesium.HypsometricSettingEnum.AnalysisRegionMode.ARM_ALL | 160 | analysisMode : Cesium.HypsometricSettingEnum.AnalysisRegionMode.ARM_ALL | ... | ... |
... | @@ -4,7 +4,7 @@ | ... | @@ -4,7 +4,7 @@ |
4 | * 2、添加了超图发布的矢量瓦片服务 | 4 | * 2、添加了超图发布的矢量瓦片服务 |
5 | * @Date: 2019-12-02 09:05:50 | 5 | * @Date: 2019-12-02 09:05:50 |
6 | * @LastEditors: jiangbotao | 6 | * @LastEditors: jiangbotao |
7 | * @LastEditTime: 2019-12-05 13:14:46 | 7 | * @LastEditTime: 2019-12-07 13:52:13 |
8 | * @FilePath: \WebGL_Webpack_Vue\components\viewer.vue | 8 | * @FilePath: \WebGL_Webpack_Vue\components\viewer.vue |
9 | --> | 9 | --> |
10 | <template> | 10 | <template> |
... | @@ -94,12 +94,12 @@ export default { | ... | @@ -94,12 +94,12 @@ export default { |
94 | pointer-events: auto; | 94 | pointer-events: auto; |
95 | position: absolute; | 95 | position: absolute; |
96 | right: 10px; | 96 | right: 10px; |
97 | top: 70px; | 97 | top: 10px; |
98 | width: 128px; | 98 | width: 128px; |
99 | height: 128px; | 99 | height: 128px; |
100 | overflow: hidden; | 100 | overflow: hidden; |
101 | } | 101 | } |
102 | .sm-zoom { | 102 | .sm-zoom { |
103 | top: 190px; | 103 | top: 130px; |
104 | } | 104 | } |
105 | </style> | 105 | </style> |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -2,12 +2,13 @@ | ... | @@ -2,12 +2,13 @@ |
2 | * 显示基本的三维Globe | 2 | * 显示基本的三维Globe |
3 | * 1、添加SuperMap发布的地形数据 | 3 | * 1、添加SuperMap发布的地形数据 |
4 | * 2、添加SuperMap发布的影像数据 | 4 | * 2、添加SuperMap发布的影像数据 |
5 | * 3、量测面积 | 5 | * 3、淹没区分析 |
6 | * 4、淹没区分析 | 6 | * 3.1 Entity分析 |
7 | * 3.2 Primitive分析 | ||
7 | * @Author: jiangbotao | 8 | * @Author: jiangbotao |
8 | * @Date: 2019-12-02 09:05:50 | 9 | * @Date: 2019-12-02 09:05:50 |
9 | * @LastEditors: jiangbotao | 10 | * @LastEditors: jiangbotao |
10 | * @LastEditTime: 2019-12-04 20:09:26 | 11 | * @LastEditTime: 2019-12-07 13:49:40 |
11 | * @FilePath: \WebGL_Webpack_Vue\components\viewer.vue | 12 | * @FilePath: \WebGL_Webpack_Vue\components\viewer.vue |
12 | --> | 13 | --> |
13 | <template> | 14 | <template> |
... | @@ -35,7 +36,7 @@ | ... | @@ -35,7 +36,7 @@ |
35 | </div> | 36 | </div> |
36 | <div id="toolbar" class="param-container tool-bar"> | 37 | <div id="toolbar" class="param-container tool-bar"> |
37 | <div class="param-item"> | 38 | <div class="param-item"> |
38 | <button type="button" id="draw" class="button black">绘面</button> | 39 | <button type="button" id="draw" class="button black">绘制分析面</button> |
39 | <button type="button" id="begin" class="button black">淹没分析</button> | 40 | <button type="button" id="begin" class="button black">淹没分析</button> |
40 | <button type="button" id="clear" class="button black">清除</button> | 41 | <button type="button" id="clear" class="button black">清除</button> |
41 | </div> | 42 | </div> |
... | @@ -98,7 +99,7 @@ export default { | ... | @@ -98,7 +99,7 @@ export default { |
98 | positions.push(longitude); | 99 | positions.push(longitude); |
99 | positions.push(latitude); | 100 | positions.push(latitude); |
100 | positions.push(h); | 101 | positions.push(h); |
101 | 102 | // 淹没分析时的固定底面 | |
102 | positions2d.push(longitude); | 103 | positions2d.push(longitude); |
103 | positions2d.push(latitude); | 104 | positions2d.push(latitude); |
104 | positions2d.push(1000.0); | 105 | positions2d.push(1000.0); |
... | @@ -116,12 +117,14 @@ export default { | ... | @@ -116,12 +117,14 @@ export default { |
116 | var targetHeight = 3500; | 117 | var targetHeight = 3500; |
117 | var entities = __this.viewer.entities; | 118 | var entities = __this.viewer.entities; |
118 | //方式1 | 119 | //方式1 |
119 | // __this.floodCal(entities, positions2d, waterHeight, targetHeight); | 120 | __this.floodCal(entities, positions2d, waterHeight, targetHeight); |
120 | __this.floodParse(scene, positions2d, waterHeight, targetHeight); | 121 | // 方式2 |
122 | // __this.floodParse(scene, positions2d, waterHeight, targetHeight); | ||
121 | handlerPolygon && handlerPolygon.clear(); | 123 | handlerPolygon && handlerPolygon.clear(); |
122 | }); | 124 | }); |
123 | 125 | ||
124 | $("#clear").click(function(){ | 126 | $("#clear").click(function(){ |
127 | __this.viewer.entities.removeAll(); | ||
125 | handlerPolygon && handlerPolygon.clear(); | 128 | handlerPolygon && handlerPolygon.clear(); |
126 | }); | 129 | }); |
127 | 130 | ||
... | @@ -257,7 +260,12 @@ export default { | ... | @@ -257,7 +260,12 @@ export default { |
257 | .tool-bar { | 260 | .tool-bar { |
258 | position: absolute; | 261 | position: absolute; |
259 | left: 10px; | 262 | left: 10px; |
260 | top: 60px; | 263 | top: 20px; |
261 | z-index: 10000; | 264 | z-index: 10000; |
265 | padding: 2px; | ||
266 | } | ||
267 | .param-container .param-item { | ||
268 | margin: 5px; | ||
269 | overflow: hidden; | ||
262 | } | 270 | } |
263 | </style> | 271 | </style> |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -2,17 +2,14 @@ | ... | @@ -2,17 +2,14 @@ |
2 | * @Author: jiangbotao | 2 | * @Author: jiangbotao |
3 | * @Date: 2019-12-03 22:31:08 | 3 | * @Date: 2019-12-03 22:31:08 |
4 | * @LastEditors: jiangbotao | 4 | * @LastEditors: jiangbotao |
5 | * @LastEditTime: 2019-12-07 11:44:35 | 5 | * @LastEditTime: 2019-12-07 13:39:25 |
6 | * @FilePath: \superglobevue\src\main.js | 6 | * @FilePath: \superglobevue\src\main.js |
7 | */ | 7 | */ |
8 | import Vue from 'vue' | 8 | import Vue from 'vue' |
9 | import Antd from 'ant-design-vue' | ||
10 | import App from './App' | 9 | import App from './App' |
11 | import 'ant-design-vue/dist/antd.css' | ||
12 | import router from './router' | 10 | import router from './router' |
13 | 11 | ||
14 | Vue.config.productionTip = false | 12 | Vue.config.productionTip = false |
15 | Vue.use(Antd) | ||
16 | 13 | ||
17 | new Vue({ | 14 | new Vue({ |
18 | router, | 15 | router, | ... | ... |
... | @@ -2,29 +2,20 @@ | ... | @@ -2,29 +2,20 @@ |
2 | * @Author: jiangbotao | 2 | * @Author: jiangbotao |
3 | * @Date: 2019-12-03 22:31:08 | 3 | * @Date: 2019-12-03 22:31:08 |
4 | * @LastEditors: jiangbotao | 4 | * @LastEditors: jiangbotao |
5 | * @LastEditTime: 2019-12-07 12:44:47 | 5 | * @LastEditTime: 2019-12-07 14:00:56 |
6 | * @FilePath: \superglobevue\src\views\Home.vue | 6 | * @FilePath: \superglobevue\src\views\Home.vue |
7 | --> | 7 | --> |
8 | <template> | 8 | <template> |
9 | <a-layout> | 9 | <viewer></viewer> |
10 | <a-layout-header> | ||
11 | <a-icon type="global" /> 三维地理信息系统 | ||
12 | </a-layout-header> | ||
13 | <a-layout-content style="padding: 0px;"> | ||
14 | <viewer></viewer> | ||
15 | </a-layout-content> | ||
16 | <a-layout-footer style="height: 22px;">Footer</a-layout-footer> | ||
17 | </a-layout> | ||
18 | </template> | 10 | </template> |
19 | 11 | ||
20 | <script> | 12 | <script> |
21 | import viewer from "@/components/viewer_s3m_single.vue"; | 13 | import viewer from "@/components/viewer_mimg.vue"; |
22 | 14 | ||
23 | export default { | 15 | export default { |
24 | name: "home", | 16 | name: "home", |
25 | data() { | 17 | data() { |
26 | return { | 18 | return { |
27 | theme1: 'primary' | ||
28 | }; | 19 | }; |
29 | }, | 20 | }, |
30 | components: { | 21 | components: { |
... | @@ -34,28 +25,5 @@ export default { | ... | @@ -34,28 +25,5 @@ export default { |
34 | </script> | 25 | </script> |
35 | 26 | ||
36 | <style scoped> | 27 | <style scoped> |
37 | .ant-layout-header { | 28 | |
38 | height: 60px; | ||
39 | top: 0px; | ||
40 | position: absolute; | ||
41 | width: 100%; | ||
42 | background-color: #2d8cf0; | ||
43 | color: white; | ||
44 | text-align: left; | ||
45 | padding: 0px 0px; | ||
46 | padding-left: 10px; | ||
47 | z-index: 99; | ||
48 | font-size: 18pt; | ||
49 | } | ||
50 | .ant-layout-footer { | ||
51 | height: 22px; | ||
52 | bottom: 0px; | ||
53 | position: absolute; | ||
54 | width: 100%; | ||
55 | background-color: rgba(19, 17, 17, 0.5); | ||
56 | color: white; | ||
57 | text-align: left; | ||
58 | padding-top: 2px; | ||
59 | padding-left: 10px; | ||
60 | } | ||
61 | </style> | 29 | </style> | ... | ... |
-
Please register or sign in to post a comment