diff --git a/package.json b/package.json
index 7585777bf..ffae47521 100644
--- a/package.json
+++ b/package.json
@@ -83,7 +83,7 @@
"dependencies": {
"@mapbox/leaflet-omnivore": "^0.3.4",
"@mapbox/mapbox-gl-style-spec": "^13.15.0",
- "@mapgis/mapbox-gl": "^1.9.0",
+ "@mapgis/mapbox-gl": "^16.0.0",
"@turf/turf": "^6.3.0",
"axios": "^0.18.0",
"cesium": "1.84.0",
diff --git a/src/cesiumjs/manager/AdvancedAnalysisManager.js b/src/cesiumjs/manager/AdvancedAnalysisManager.js
index 5442a4f9a..7089e56ba 100644
--- a/src/cesiumjs/manager/AdvancedAnalysisManager.js
+++ b/src/cesiumjs/manager/AdvancedAnalysisManager.js
@@ -12,6 +12,15 @@ export default class AdvancedAnalysisManager {
constructor(option) {
this._viewer = Cesium.defaultValue(option.viewer, undefined);
this._scene = this._viewer.scene;
+ // 记录设置之前的配置
+ this._oldSetting = {
+ skyAtmosphere: {
+ hueShift: this._scene.skyAtmosphere.hueShift,
+ saturationShift: this._scene.skyAtmosphere.saturationShift,
+ brightnessShift: this._scene.skyAtmosphere.brightnessShift
+ },
+ fog: { density: this._scene.fog.density, minimumBrightness: this._scene.fog.minimumBrightness }
+ };
}
/**
@@ -432,6 +441,12 @@ export default class AdvancedAnalysisManager {
*/
removeStage(stage) {
this.viewer.scene.postProcessStages.remove(stage);
+ // 重置配置
+ this.scene.skyAtmosphere.hueShift = this._oldSetting.skyAtmosphere.hueShift;
+ this.scene.skyAtmosphere.saturationShift = this._oldSetting.skyAtmosphere.saturationShift;
+ this.scene.skyAtmosphere.brightnessShift = this._oldSetting.skyAtmosphere.brightnessShift;
+ this.scene.fog.density = this._oldSetting.fog.density;
+ this.scene.fog.minimumBrightness = this._oldSetting.fog.minimumBrightness;
}
/**
diff --git a/src/mapboxgl/package.json b/src/mapboxgl/package.json
index de9083102..5ebd34633 100644
--- a/src/mapboxgl/package.json
+++ b/src/mapboxgl/package.json
@@ -1,39 +1,39 @@
{
- "name": "@mapgis/webclient-es6-mapboxgl",
- "version": "15.6.1",
- "description": "",
- "main1": "dist-libs/webclient-mapboxgl-plugin.min.js",
- "module": "index.js",
- "scripts": {
- "build": "npm run build-debug && npm run build-release",
- "build-debug": "webpack --config webpack/mapbox-es6-debug-config.js",
- "build-release": "webpack --config webpack/mapbox-es6-release-config.js"
- },
- "keywords": [
- "zondy",
- "service",
- "&",
- "mapboxgl"
- ],
- "author": "Wuhan Zondy Cyber Science&Technology Co.Ltd.",
- "license": "Apache-2.0",
- "dependencies": {
- "@mapgis/mapbox-gl": "^1.9.9",
- "@mapgis/webclient-es6-service": "^10.5.7",
- "core-js": "^3.21.1",
- "echarts": "^4.8.0",
- "mapv": "^2.0.56"
- },
- "devDependencies": {
- "@babel/core": "^7.16.0",
- "@babel/preset-env": "^7.16.4",
- "babel-loader": "^8.2.3",
- "babel-plugin-add-module-exports": "^1.0.4",
- "css-loader": "^6.5.1",
- "html-webpack-plugin": "^5.5.0",
- "sass-loader": "^12.4.0",
- "style-loader": "^3.3.1",
- "ts-loader": "^9.2.6",
- "webpack": "^5.65.0"
- }
+ "name": "@mapgis/webclient-es6-mapboxgl",
+ "version": "16.0.1",
+ "description": "",
+ "main1": "dist-libs/webclient-mapboxgl-plugin.min.js",
+ "module": "index.js",
+ "scripts": {
+ "build": "npm run build-debug && npm run build-release",
+ "build-debug": "webpack --config webpack/mapbox-es6-debug-config.js",
+ "build-release": "webpack --config webpack/mapbox-es6-release-config.js"
+ },
+ "keywords": [
+ "zondy",
+ "service",
+ "&",
+ "mapboxgl"
+ ],
+ "author": "Wuhan Zondy Cyber Science&Technology Co.Ltd.",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@mapgis/mapbox-gl": "^16.0.0",
+ "@mapgis/webclient-es6-service": "^16.0.0",
+ "core-js": "^3.21.1",
+ "echarts": "^4.8.0",
+ "mapv": "^2.0.56"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.16.0",
+ "@babel/preset-env": "^7.16.4",
+ "babel-loader": "^8.2.3",
+ "babel-plugin-add-module-exports": "^1.0.4",
+ "css-loader": "^6.5.1",
+ "html-webpack-plugin": "^5.5.0",
+ "sass-loader": "^12.4.0",
+ "style-loader": "^3.3.1",
+ "ts-loader": "^9.2.6",
+ "webpack": "^5.65.0"
+ }
}
diff --git a/src/service/package.json b/src/service/package.json
index 13ebcb242..3633c817f 100644
--- a/src/service/package.json
+++ b/src/service/package.json
@@ -1,6 +1,6 @@
{
"name": "@mapgis/webclient-es6-service",
- "version": "15.6.1",
+ "version": "16.0.1",
"description": "中地数码基于ES6语法针对igserver的服务封装",
"main1": "dist-libs/webclient-es6-service.min.js",
"module": "index.js",
diff --git a/website/public/static/demo/cesium-new/example/tool/model-explosion.htm b/website/public/static/demo/cesium-new/example/tool/model-explosion.htm
new file mode 100644
index 000000000..eca715ef9
--- /dev/null
+++ b/website/public/static/demo/cesium-new/example/tool/model-explosion.htm
@@ -0,0 +1,458 @@
+
+
+
+
+
+
+ 模型爆炸(单图层)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.0数据
+ 2.0数据
+
+单值过滤-单方向
+单值过滤-多方向
+分段过滤-单方向
+分段过滤-多方向
+属性过滤-单方向
+属性过滤-多方向
+
+
+
\ No newline at end of file
diff --git a/website/public/static/demo/cesium-new/gallery/tool/model-explosion.png b/website/public/static/demo/cesium-new/gallery/tool/model-explosion.png
new file mode 100644
index 000000000..a0bd97a40
Binary files /dev/null and b/website/public/static/demo/cesium-new/gallery/tool/model-explosion.png differ
diff --git a/website/public/static/demo/cesium/helper/ogc/wmts/WMTS.md b/website/public/static/demo/cesium/helper/ogc/wmts/WMTS.md
index 3ff5a6b51..9a1d4216c 100644
--- a/website/public/static/demo/cesium/helper/ogc/wmts/WMTS.md
+++ b/website/public/static/demo/cesium/helper/ogc/wmts/WMTS.md
@@ -11,9 +11,9 @@
```js
var tianditu = new Cesium.WebMapTileServiceImageryProvider({
- url: 'http://t0.tianditu.com/DataServer?T=vec_w&L={TileMatrix}&Y={TileRow}&X={TileCol}&tk=9c157e9585486c02edf817d2ecbc7752',
+ url: 'http://develop.smaryun.com:6163/igs/rest/ogc/beijing/WMTSServer/1.0.0/beijing/default/EPSG:4326_北京市_arcgis_GB/{TileMatrix}/{TileRow}/{TileCol}.png',
maximumLevel: 19,
- credit: new Cesium.Credit('3857')
+ credit: new Cesium.Credit('4326')
});
webGlobe.viewer.imageryLayers.addImageryProvider(tianditu);
```
@@ -82,7 +82,93 @@ var lnglat = new Cesium.WebMapTileServiceImageryProvider({
结果如下:

-## 3. WMTS 元数据信息不可信!!
+## 3. MapGIS WMTS调用
+
+### 3.1 v1 版本<=10.5.4(Java / NET版本)
+1. restful
+ 1. 规则
+ ``` js
+ @GetMapping("/WMTSServer/1.0.0/{layer}/default/{tileMatrixSet}/{tileMatrix}/{tileRow}/{tileCol}.{format}")
+ ```
+ 2. 示例
+ ``` js
+ >>> http://develop.smaryun.com:6163/igs/rest/ogc/beijing/WMTSServer/1.0.0/beijing/default/EPSG:4326_北京市_arcgis_GB/{z}/{y}/{x}.png
+ ```
+2. kvp
+ 1. 规则
+ ``` js
+ ResponseEntity> getWMTSServerKvpByServerName(
+ @PathVariable("serverName") String serverName,
+ @RequestParam(value = "service", required = false) String service,
+ @RequestParam(value = "version", required = false) String version,
+ @RequestParam(value = "request", required = false, defaultValue = "") String request,
+ @RequestParam(value = "layer", required = false) String layer,
+ @RequestParam(value = "style", required = false) String style,
+ @RequestParam(value = "format", required = false) String format,
+ @RequestParam(value = "tileMatrixSet", required = false) String tileMatrixSet,
+ @RequestParam(value = "tileMatrix", required = false) String tileMatrix,
+ @RequestParam(value = "tileRow", required = false) String tileRow,
+ @RequestParam(value = "tileCol", required = false) String tileCol,
+ @RequestParam(value = "J", required = false) String j,
+ @RequestParam(value = "I", required = false) String i,
+ @RequestParam(value = "infoFormat", required = false) String infoFormat)
+ ```
+ 2. 示例
+ ``` js
+ `${protocol}://${ip}:${port}/igs/rest/ogc/beijing/WMTSServer?` +
+ 'service=WMTS' +
+ '&request=GetTile' +
+ '&version=1.0.0' +
+ '&style=default' +
+ '&tilematrixSet=EPSG:4326_北京市_arcgis_GB' +
+ '&format=image/png' +
+ '&layer=beijing' +
+ '&tilematrix={z}' +
+ '&tilerow={y}' +
+ '&tilecol={x}'
+ ```
+### 3.2 v2 版本>=10.5.6 (仅Java版本)
+1. restful
+ 1. 规则
+ ``` js
+ @GetMapping("/1.0.0/{layer}/default/{tileMatrixSet}/{tileMatrix}/{tileRow}/{tileCol}.{format}")
+ ```
+ 2. 示例
+ ``` js
+ >>> http://192.168.21.191:8089/igs/rest/services/OGC_4326_CHINA/WMTSServer/1.0.0/OGC_4326_CHINA/default/EPSG:4326_OGC_4326_CHINA_028mm_GB/{z}/{y}/{x}.png
+ ```
+2. kvp
+ 1. 规则
+ ``` js
+ ResponseEntity> getTileByKvp(@PathVariable("serviceName") String serviceName,
+ @RequestParam(value = "service", required = false) String service,
+ @RequestParam(value = "version", required = false) String version,
+ @RequestParam(value = "request", required = false) String request,
+ @RequestParam(value = "layer", required = false) String layer,
+ @RequestParam(value = "style", required = false) String style,
+ @RequestParam(value = "format", required = false) String format,
+ @RequestParam(value = "tileMatrixSet", required = false) String tileMatrixSet,
+ @RequestParam(value = "tileMatrix", required = false) String tileMatrix,
+ @RequestParam(value = "tileRow", required = false) String tileRow,
+ @RequestParam(value = "tileCol", required = false) String tileCol)
+ ```
+ 2. 示例
+ ``` js
+ `http://192.168.21.191:8089/igs/rest/ogc/WMTSServer?` +
+ 'service=WMTS' +
+ '&request=GetTile' +
+ '&version=1.0.0' +
+ '&style=default' +
+ '&tilematrixSet=EPSG:4326_北京市_arcgis_GB' +
+ '&format=image/png' +
+ '&layer=OGC_4326_CHINA' +
+ '&tilematrix={z}' +
+ '&tilerow={y}' +
+ '&tilecol={x}'
+ ```
+
+
+## 4. WMTS 元数据信息不可信!!
与其说 WMTS 元数据信息不可信,本质上是说实际线下实操人员的操作不可信。以上面为例
@@ -91,7 +177,7 @@ var lnglat = new Cesium.WebMapTileServiceImageryProvider({
> 但是元数据信息描述里面的矩阵集居然有 2 类,其中一类是全球墨卡托, Orz....
> 
-### 3.1 出现过该场景的情况
+### 4.1 出现过该场景的情况
> 从下面数据情况几乎可以得出结论,无法避免不同平台不同版本带来的差异, `强烈推荐`使用`KVP`的方式`手动匹配`来统一处理,而不是自动解析 WMTS.xml 的元数据信息
diff --git a/website/public/static/demo/config/config-cesium-new.json b/website/public/static/demo/config/config-cesium-new.json
index 1979f8817..952bf5a88 100644
--- a/website/public/static/demo/config/config-cesium-new.json
+++ b/website/public/static/demo/config/config-cesium-new.json
@@ -321,6 +321,14 @@
"icon": "measure-plot.png",
"update": "最后更新时间:2022-03-14"
},
+ {
+ "name": "模型爆炸(单图层)",
+ "file": "model-explosion",
+ "diffcult": "1",
+ "detail": "",
+ "icon": "model-explosion.png",
+ "update": "最后更新时间:2022-08-10"
+ },
{
"name": "模型编辑",
"file": "tool-edit",
diff --git a/website/public/static/demo/config/config-headers.json b/website/public/static/demo/config/config-headers.json
index c616d2152..af12bb58c 100644
--- a/website/public/static/demo/config/config-headers.json
+++ b/website/public/static/demo/config/config-headers.json
@@ -50,15 +50,18 @@
]
},
{
- "title": "开发指南",
+ "title": "开发文档",
"icon": "iconkaifazhinan",
"links": [
[
- "开发指南"
+ "组件开发入门",
+ "Cesium开发文档",
+ "MapboxGL开文档",
+ "UI开文档"
]
],
"hightlights": [[true]],
- "routes": [["/guide/component/development_component", "", "", "", "", "", "", "", "", "", "", ""]]
+ "routes": [["/guide/component/development_component", "http://120.78.82.242:8891", "http://120.78.82.242:8892", "http://120.78.82.242:8893","", "", "", "", "", "", "", ""]]
},
{
"title": "常见问题",
@@ -124,15 +127,16 @@
]
},
{
- "title": "开发指南",
+ "title": "开发文档",
"icon": "iconkaifazhinan",
"links": [
[
+ "开发入门",
"开发指南"
]
],
"hightlights": [[true]],
- "routes": [["/guide/cesium/development_cesium", "", "", "", "", "", "", "", "", "", "", ""]]
+ "routes": [["/guide/cesium/MapGIS Client for JavaScript(Cesium)开发入门","/guide/cesium/development_cesium", "", "", "", "", "", "", "", "", "", "", ""]]
},
{
"title": "常见问题",
@@ -260,10 +264,11 @@
]
},
{
- "title": "开发指南",
+ "title": "开发文档",
"icon": "iconkaifazhinan",
"links": [
[
+ "开发入门",
"开发指南"
]
],
@@ -374,15 +379,16 @@
]
},
{
- "title": "开发指南",
+ "title": "开发文档",
"icon": "iconkaifazhinan",
"links": [
[
+ "开发入门",
"开发指南"
]
],
"hightlights": [[true]],
- "routes": [["/guide/leaflet/development_leaflet", "", "", "", "", "", "", "", "", "", "", ""]]
+ "routes": [["/guide/leaflet/MapGIS Client for JavaScript(Leaflet)开发入门","/guide/leaflet/development_leaflet", "", "", "", "", "", "", "", "", "", "", ""]]
},
{
"title": "开发示例",
@@ -449,18 +455,19 @@
]
},
{
- "title": "开发指南",
+ "title": "开发文档",
"icon": "iconkaifazhinan",
"links": [
[
+ "开发入门",
"开发指南"
]
],
"hightlights": [[true]],
- "routes": [["/guide/openlayers/development_ol", "", "", "", "", "", "", "", "", "", "", ""]]
+ "routes": [["/guide/openlayers/MapGIS Client for JavaScript(OpenLayers)开发入门","/guide/openlayers/development_ol", "", "", "", "", "", "", "", "", "", "", ""]]
},
{
- "title": "开发示例",
+ "title": "开发示例 - 组件",
"icon": "iconzaixianshili",
"links": [
[
@@ -531,5 +538,73 @@
]
}
]
+ },
+ {
+ "title": "MapGISPlot",
+ "icon": "iconmap2",
+ "menus": [
+ {
+ "title": "产品",
+ "icon": "iconchanpinjieshao"
+ },
+ {
+ "title": "开发示例 - vue",
+ "icon": "iconzaixianshili",
+ "links": [
+ [
+ "标绘-二维",
+ "态势推演-二维",
+ "标绘-三维",
+ "态势推演-三维",
+ "标绘-二三维联动",
+ "态势推演-二三维联动"
+ ]
+ ],
+ "hightlights": [
+ [false]
+ ],
+ "routes": [
+ [
+ "/storybook/index.html?path=/story/二维-图层-标绘-二维标绘--二维标绘",
+ "/storybook/index.html?path=/story/二维-图层-标绘-态势推演--态势推演",
+ "/storybook/index.html?path=/story/三维-图层-标绘-三维标绘--三维标绘",
+ "/storybook/index.html?path=/story/三维-图层-标绘-态势推演--态势推演",
+ "/storybook/index.html?path=/story/三维-场景子组件-二三维联动-标绘--标绘",
+ "/storybook/index.html?path=/story/三维-场景子组件-二三维联动-态势推演--态势推演"
+ ]
+ ]
+ },
+ {
+ "title": "开发示例 - 纯JS",
+ "icon": "iconzaixianshili",
+ "links": [
+ [
+ "二维标绘",
+ "三维标绘"
+ ]
+ ],
+ "hightlights": [
+ [false]
+ ],
+ "routes": [
+ [
+ "/gallery/webclient-plot#Plot2D",
+ "/gallery/webclient-plot#Plot3D"
+ ]
+ ]
+ },
+ {
+ "title": "开发API",
+ "icon": "iconsanfangAPI",
+ "links": [["PLOT-API", "标绘图元管理工具"]],
+ "hightlights": [[false]],
+ "routes": [
+ [
+ "http://192.168.82.89:8093",
+ "http://192.168.82.89:8093/tutorial-9.%E5%88%A0%E9%99%A4%E6%A0%87%E7%BB%98%E5%9B%BE%E5%85%83%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81.html"
+ ]
+ ]
+ }
+ ]
}
]
diff --git a/website/public/static/demo/config/config-webclient-plot.json b/website/public/static/demo/config/config-webclient-plot.json
new file mode 100644
index 000000000..798080d57
--- /dev/null
+++ b/website/public/static/demo/config/config-webclient-plot.json
@@ -0,0 +1,55 @@
+{
+ "name": "webclient-plot",
+ "title": "MapGIS WebClient-Plot",
+ "mapmode": "webclient-plot",
+ "childs": [
+ {
+ "name": "二维标绘",
+ "iconfont": "iconlayer",
+ "folder": "Plot2D",
+ "leaffolder": true,
+ "childs": [
+ {
+ "name": "二维态势推演",
+ "file": "plot-animation-2d",
+ "diffcult": "2",
+ "detail": "",
+ "icon": "plot-animation-2d.png",
+ "update": "最后更新时间:2022-03-14"
+ }
+ ]
+ },
+ {
+ "name": "三维标绘",
+ "iconfont": "iconterrain",
+ "folder": "Plot3D",
+ "leaffolder": true,
+ "childs": [
+ {
+ "name": "标绘",
+ "file": "plot",
+ "diffcult": "1",
+ "detail": "",
+ "icon": "plot.png",
+ "update": "最后更新时间:2022-03-14"
+ },
+ {
+ "name": "标绘 - 带地形",
+ "file": "plot-terrain",
+ "diffcult": "2",
+ "detail": "",
+ "icon": "plot.png",
+ "update": "最后更新时间:2022-03-14"
+ },
+ {
+ "name": "三维态势推演",
+ "file": "plot-animation-3d",
+ "diffcult": "3",
+ "detail": "",
+ "icon": "plot-animation-3d.png",
+ "update": "最后更新时间:2022-03-14"
+ }
+ ]
+ }
+ ]
+}
diff --git a/website/public/static/demo/mapboxgl/helper/ogc/wmts/WMTS.md b/website/public/static/demo/mapboxgl/helper/ogc/wmts/WMTS.md
index c990b364b..ce35b0764 100755
--- a/website/public/static/demo/mapboxgl/helper/ogc/wmts/WMTS.md
+++ b/website/public/static/demo/mapboxgl/helper/ogc/wmts/WMTS.md
@@ -9,6 +9,43 @@
> `restful调用`的核心是将所有的 级别 行列 图层 样式 的参数统一明码的标记在 url 请求中
> 使用这种方式 级别 行列号 都一定是`数字型` 这里很关键 , 常见的金字塔模型里面的级别 都`一般是整数表示`。
+```js
+map.addLayer({
+ id: 'wmts-layer',
+ type: 'raster',
+ source: {
+ type: 'raster',
+ tiles: [
+ `${protocol}://${ip}:${port}/igs/rest/ogc/beijing/WMTSServer/1.0.0/beijing/default/EPSG:4326_北京市_arcgis_GB/{z}/{y}/{x}.png`
+ ],
+ tileSize: 256,
+ },
+ paint: {}
+});
+```
+
+``` js
+// 匹配规则
+@GetMapping("/WMTSServer/1.0.0/{layer}/default/{tileMatrixSet}/{tileMatrix}/{tileRow}/{tileCol}.{format}")
+```
+
+### 1.1 参数说明
+
+| 参数 | 类型 | OGC-名称 | 图片说明 |
+| :------------ | :----- | :------------ | :------------------------------------------------------------------- |
+| layer | 字符串 | Layer |  |
+| style | 字符串 | Style |  |
+| format | 字符串 | Format |  |
+| tilematrixSet | 字符串 | TileMatrixSet |  |
+
+
+
+> 这一种是最常见的 WMTS 加载方式, 但这种方式一般只能处理全球裁瓦片的方式: 如经纬度 EPSG:4326/4490/4610 或者墨卡托 EPSG:3857
+
+## 2. kvp
+
+> 目前 mapboxgl 支持有限的 kvp 方式调用,由于目前@mapgis/mapbox-gl仅仅支持了EPSG:3857/4326/4490/4610,因此对tilematrixSet的支持是有限的
+
```js
map.addLayer({
id: 'wmts-layer',
@@ -35,7 +72,7 @@ map.addLayer({
});
```
-### 1.1 参数说明
+### 2.1 参数说明
| 参数 | 类型 | OGC-名称 | 图片说明 |
| :------------ | :----- | :------------ | :------------------------------------------------------------------- |
@@ -44,13 +81,6 @@ map.addLayer({
| format | 字符串 | Format |  |
| tilematrixSet | 字符串 | TileMatrixSet |  |
-
-
-> 这一种是最常见的 WMTS 加载方式, 但这种方式一般只能处理全球裁瓦片的方式: 如经纬度 EPSG:4326/4490/4610 或者墨卡托 EPSG:3857
-
-## 2. kvp
-
-> 目前 mapboxgl 不支持 kvp 方式调用,如有需求请提交 [Github-Issues](https://github.com/MapGIS/WebClient-JavaScript/issues/new)
## 3. 错级瓦片
@@ -73,3 +103,89 @@ map.addLayer({
[在线链接](/#/demo/mapboxgl/mapgis-igserver/map/mapgisoffset)

+
+## 4. MapGIS WMTS调用
+
+### 4.1 v1 版本<=10.5.4(Java / NET版本)
+1. restful
+ 1. 规则
+ ``` js
+ @GetMapping("/WMTSServer/1.0.0/{layer}/default/{tileMatrixSet}/{tileMatrix}/{tileRow}/{tileCol}.{format}")
+ ```
+ 2. 示例
+ ``` js
+ >>> http://develop.smaryun.com:6163/igs/rest/ogc/beijing/WMTSServer/1.0.0/beijing/default/EPSG:4326_北京市_arcgis_GB/{z}/{y}/{x}.png
+ ```
+2. kvp
+ 1. 规则
+ ``` js
+ ResponseEntity> getWMTSServerKvpByServerName(
+ @PathVariable("serverName") String serverName,
+ @RequestParam(value = "service", required = false) String service,
+ @RequestParam(value = "version", required = false) String version,
+ @RequestParam(value = "request", required = false, defaultValue = "") String request,
+ @RequestParam(value = "layer", required = false) String layer,
+ @RequestParam(value = "style", required = false) String style,
+ @RequestParam(value = "format", required = false) String format,
+ @RequestParam(value = "tileMatrixSet", required = false) String tileMatrixSet,
+ @RequestParam(value = "tileMatrix", required = false) String tileMatrix,
+ @RequestParam(value = "tileRow", required = false) String tileRow,
+ @RequestParam(value = "tileCol", required = false) String tileCol,
+ @RequestParam(value = "J", required = false) String j,
+ @RequestParam(value = "I", required = false) String i,
+ @RequestParam(value = "infoFormat", required = false) String infoFormat)
+ ```
+ 2. 示例
+ ``` js
+ `${protocol}://${ip}:${port}/igs/rest/ogc/beijing/WMTSServer?` +
+ 'service=WMTS' +
+ '&request=GetTile' +
+ '&version=1.0.0' +
+ '&style=default' +
+ '&tilematrixSet=EPSG:4326_北京市_arcgis_GB' +
+ '&format=image/png' +
+ '&layer=beijing' +
+ '&tilematrix={z}' +
+ '&tilerow={y}' +
+ '&tilecol={x}'
+ ```
+### 4.2 v2 版本>=10.5.6 (仅Java版本)
+1. restful
+ 1. 规则
+ ``` js
+ @GetMapping("/1.0.0/{layer}/default/{tileMatrixSet}/{tileMatrix}/{tileRow}/{tileCol}.{format}")
+ ```
+ 2. 示例
+ ``` js
+ >>> http://192.168.21.191:8089/igs/rest/services/OGC_4326_CHINA/WMTSServer/1.0.0/OGC_4326_CHINA/default/EPSG:4326_OGC_4326_CHINA_028mm_GB/{z}/{y}/{x}.png
+ ```
+2. kvp
+ 1. 规则
+ ``` js
+ ResponseEntity> getTileByKvp(@PathVariable("serviceName") String serviceName,
+ @RequestParam(value = "service", required = false) String service,
+ @RequestParam(value = "version", required = false) String version,
+ @RequestParam(value = "request", required = false) String request,
+ @RequestParam(value = "layer", required = false) String layer,
+ @RequestParam(value = "style", required = false) String style,
+ @RequestParam(value = "format", required = false) String format,
+ @RequestParam(value = "tileMatrixSet", required = false) String tileMatrixSet,
+ @RequestParam(value = "tileMatrix", required = false) String tileMatrix,
+ @RequestParam(value = "tileRow", required = false) String tileRow,
+ @RequestParam(value = "tileCol", required = false) String tileCol)
+ ```
+ 2. 示例
+ ``` js
+ `http://192.168.21.191:8089/igs/rest/ogc/WMTSServer?` +
+ 'service=WMTS' +
+ '&request=GetTile' +
+ '&version=1.0.0' +
+ '&style=default' +
+ '&tilematrixSet=EPSG:4326_北京市_arcgis_GB' +
+ '&format=image/png' +
+ '&layer=OGC_4326_CHINA' +
+ '&tilematrix={z}' +
+ '&tilerow={y}' +
+ '&tilecol={x}'
+ ```
+
diff --git a/website/public/static/demo/webclient-plot/example/Plot3D/plot-terrain.htm b/website/public/static/demo/webclient-plot/example/Plot3D/plot-terrain.htm
new file mode 100644
index 000000000..2d5bb662c
--- /dev/null
+++ b/website/public/static/demo/webclient-plot/example/Plot3D/plot-terrain.htm
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+ 行业标绘 - 附带地形
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
基础符号
+
+
+
+
+
+
+
+
+
+
常规点
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
常规线
+
+
+
+
+
+
+
+
+
+
+
常规面
+
+
+
算法符号
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/website/public/static/demo/webclient-plot/example/Plot3D/plot.htm b/website/public/static/demo/webclient-plot/example/Plot3D/plot.htm
new file mode 100644
index 000000000..9634cc9d7
--- /dev/null
+++ b/website/public/static/demo/webclient-plot/example/Plot3D/plot.htm
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+ 行业标绘
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
基础符号
+
+
+
+
+
+
+
+
+
+
常规点
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
常规线
+
+
+
+
+
+
+
+
+
+
+
常规面
+
+
+
算法符号
+
+
+
+
+
+
+
+
+
+
+设置图元大小
+
+
+
+
\ No newline at end of file
diff --git a/website/public/static/libs/include-cesium-new-local.js b/website/public/static/libs/include-cesium-new-local.js
new file mode 100644
index 000000000..8f1733206
--- /dev/null
+++ b/website/public/static/libs/include-cesium-new-local.js
@@ -0,0 +1,120 @@
+(function () {
+ var r = new RegExp('(^|(.*?\\/))(include-cesium-new-local.js)(\\?|$)'),
+ s = document.getElementsByTagName('script'),
+ targetScript,
+ targetUrl;
+ for (var i = 0; i < s.length; i++) {
+ var src = s[i].getAttribute('src');
+ if (src) {
+ var m = src.match(r);
+ if (m) {
+ targetUrl = src;
+ targetScript = s[i];
+ break;
+ }
+ }
+ }
+
+ function inputScript(url) {
+ var script = '