new TerrainAnalyse(viewer, options)
engineExtensions/analysis/TerrainAnalyse.js, line 7
请参考以下示例:
1、坡度分析2、坡向分析
3、坡度坡向分析
4、地形压平
5、结束分析
支持如下方法:
[1、修改等高线宽度,间距和颜色][2、更新分析区域]
[3、更新色表]
[4、更新色表间距值]
[5、修改坡向箭头密度]
[6、开启地形分析,坡度,坡向和等值线]
[7、开启地形分析,坡度,坡向和等值线]
[8、根据输入屏幕坐标查询坡度坡向值]
[9、右键点击查询坡度坡向值]
[10、移除点击查询坡度坡向值事件]
[11、移除坡度坡向,等值面,等高线等分析结果]
[12、地形压平]
[13、移除地形压平]
地形分析
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
viewer |
Object |
场景视图对象,详见Cesium.Viewer |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options |
Object |
可选
包含以下属性的对象
|
Examples
// ES5引入方式
const { DrawElement, TerrainAnalyse } = zondy.cesium
// ES6引入方式
import { DrawElement, TerrainAnalyse } from "@mapgis/webclient-cesium-plugin"
1、初始化绘制工具
const drawElement = new DrawElement(viewer);
2、初始化地形分析工具
const terrainAnalyse = new TerrainAnalyse(viewer);
3、绘制几何并执行地形分析
drawElement.startDrawingPolygon({
callback: function (result) {
terrainAnalyse.changeAnalyseArea(result.positions);
terrainAnalyse.selectedShading = 'slope';
}
});
// ES5引入方式
const { DrawElement, TerrainAnalyse } = zondy.cesium
// ES6引入方式
import { DrawElement, TerrainAnalyse } from "@mapgis/webclient-cesium-plugin"
1、初始化绘制工具
const drawElement = new DrawElement(viewer);
2、初始化地形分析工具
const terrainAnalyse = new TerrainAnalyse(viewer);
3、绘制几何并执行地形分析
drawElement.startDrawingPolygon({
callback: function (result) {
terrainAnalyse.changeAnalyseArea(result.positions);
terrainAnalyse.selectedShading = 'aspectArrow';
}
});
// ES5引入方式
const { DrawElement, TerrainAnalyse } = zondy.cesium
// ES6引入方式
import { DrawElement, TerrainAnalyse } from "@mapgis/webclient-cesium-plugin"
1、初始化绘制工具
const drawElement = new DrawElement(viewer);
2、初始化地形分析工具
const terrainAnalyse = new TerrainAnalyse(viewer);
3、绘制几何并执行地形分析
drawElement.startDrawingPolygon({
callback: function (result) {
terrainAnalyse.changeAnalyseArea(result.positions);
terrainAnalyse.selectedShading = 'arrowAspectSlope';
}
});
// ES5引入方式
const { DrawElement, TerrainAnalyse } = zondy.cesium
// ES6引入方式
import { DrawElement, TerrainAnalyse } from "@mapgis/webclient-cesium-plugin"
1、初始化绘制工具
const drawElement = new DrawElement(viewer);
2、初始化地形分析工具
const terrainAnalyse = new TerrainAnalyse(viewer);
3、绘制几何并执行地形分析
drawElement.startDrawingPolygon({
callback: function (result) {
//得到绘制矩形接口返回的范围extent,并计算出东南西北点坐标
positions = result.positions
//压平地形
terrainAnalyse.terrainFlatten(positions, height)
//停止绘制,解除鼠标行为
drawElement.stopDrawing()
}
});
terrainAnalyse.destroy();
Methods
-
calculateSlopeAndAspect(screenPoint){Object}
engineExtensions/analysis/TerrainAnalyse.js, line 1242 -
Name Type Description screenPointCesium.Cartesian2 查询坡度坡向值的屏幕坐标
Returns:
Type Description Object result 返回查询结果 Example
var terrainAnalyse = new zondy.cesium.TerrainAnalyse(viewer, {}); result = terrainAnalyse.calculateSlopeAndAspect(screenPoint); // 坡度值,单位度,范围0-90° slopeAngle = result.slope // 坡向值,单位度,范围0-360° aspectAngle = result.aspect // 坡向的8方位描述。可能的取值为N、NE、E、SE、S、SW、W、NW aspectDescription = result.aspectDescription -
changeAnalyseArea(positions)
engineExtensions/analysis/TerrainAnalyse.js, line 632 -
Name Type Description positionsArray 分析范围(世界坐标)
Example
terrainAnalyse.changeAnalyseArea(positions); -
changeArrowAspectRepeat(cartesian2)
engineExtensions/analysis/TerrainAnalyse.js, line 715 -
Name Type Description cartesian2Cesium.Cartesian2 x,y方向上的重复次数
Example
var cartesian2= new Cesium.Cartesian2(3.0,3.0); changeArrowAspectRepeat(cartesian2); -
changeColorTable(colorTable, ShadingType)
engineExtensions/analysis/TerrainAnalyse.js, line 669 -
Name Type Description colorTableArray 色表
ShadingTypeString 渲染类型,高程赋色'elevation'、坡度分析'slope'、坡向分析'aspect'。
Example
var defaultColor = ['#000000', '#2747E0', '#D33B7D', '#D33038', '#FF9742', '#ffd700', '#FFFFFF']; terrainAnalyse.changeColorTable(defaultColor,'elevation'); -
changeColorTableDis(colorTableDis, ShadingType)
engineExtensions/analysis/TerrainAnalyse.js, line 687 -
Name Type Description colorTableDisArray 色表间距值
ShadingTypeString 渲染类型,高程赋色'elevation'、坡度分析'slope'、坡向分析'aspect'。
Example
var defaultColor = [0, 0.2, 0.3,0.4, 0.5, 0.6, 1]; terrainAnalyse.changeColorTableDis(defaultColor,'elevation'); -
changeContours(ContourSpacing, ContourWidth, ContourColor)
engineExtensions/analysis/TerrainAnalyse.js, line 615 -
Name Type Description ContourSpacingNumber 修改等间距
ContourWidthNumber 修改等高线宽度
ContourColorCesium.Color 修改等高线颜色
-
destroy()
engineExtensions/analysis/TerrainAnalyse.js, line 1346 -
-
queryInfo(getResult)
engineExtensions/analysis/TerrainAnalyse.js, line 1278 -
Name Type Description getResultfunction 回调返回结果
Example
var getResult = function(e){console.log(e)}; var terrainAnalyse = new zondy.cesium.TerrainAnalyse(viewer, {}); terrainAnalyse.queryInfo(getResult); -
removeQueryInfo()
engineExtensions/analysis/TerrainAnalyse.js, line 1330 -
-
removeTerrainFlatten()
engineExtensions/analysis/TerrainAnalyse.js, line 1422 -
-
terrainFlatten(positions, flattenHeight){Boolean}
engineExtensions/analysis/TerrainAnalyse.js, line 1362 -
Name Type Description positionsArray 多边形顶点坐标数组
flattenHeightNumber 压平到指定高度
Returns:
Type Description Boolean 返回是否成功执行 -
updateElevationBandMaterial(bandPositions, gradient, bandThickness, bandTransparency, backgroundTransparency, colorsArray)
engineExtensions/analysis/TerrainAnalyse.js, line 893 -
Name Type Description bandPositionsArray 等值面数组,高度,单位米
gradientBoolean 是否渐变
bandThicknessNumber 等值面宽度
bandTransparencyNumber 等值面透明度
backgroundTransparencyNumber 等值面背景透明度
colorsArrayArray 等值面颜色数组(数组长度不小于bandPositions)
Example
var bandPositions = [400,800,1300]; var terrainA = new zondy.cesium.TerrainAnalyse(viewer); var colorsArray =[Cesium.Color.RED,Cesium.Color.BLUE,Cesium.Color.GREEN]; terrainAnalyse.updateElevationBandMaterial(bandPositions,false,100,1.0,0.0,colorsArray); -
updateMaterial(inputShading)
engineExtensions/analysis/TerrainAnalyse.js, line 730 -
Name Type Description inputShadingString 地形分析类型
Example
terrainAnalyse.updateMaterial('elevation'); //地形分析渲染类型包括高程赋色'elevation'、坡度分析'slope'、坡向分析'aspect',坡向箭头+坡度颜色分析'arrowAspectSlope',等值面分析'elevationBand'。