# new CutFillAnalysis(viewer, optionsopt)
填挖方分析
参数:
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
viewer |
Object | 场景视图对象,详见Cesium.Viewer |
|
options |
Object | {} | 附加参数 |
dataLyers |
Object | viewer.terrainProvider | 地形图层 |
xPaneNum |
Number | 16 | X坐标方向采样点的个数,数值越大采样点越多,采样耗时越久 |
yPaneNum |
Number | 16 | Y坐标方向采样点的个数,数值越大采样点越多,采样耗时越久 |
xCellLength |
Number | -1 | 设定格子X方向距离,默认为负值的情况下,使用直接设定paneNumber的采样点个数 |
yCellLength |
Number | -1 | 设定格子Y方向距离 |
height |
Number | 0 | 填挖方平整高程,低于该高度会计算填方体积,高于该高度会计算挖方体积 |
dataType |
Number | 0.0 | 要采样的数据类型,0.0:地形,1.0:模型,2.0:场景(地形加模型),请注意当采样类型选择,模型或场景是,采样速度会变慢 |
callBack |
function | null | 结果回调函数 |
terrainLevel |
Number | -1 | 地形取高程时使用的地形层级,默认使用最精细级 |
请参考以下示例:
1、填挖方分析支持如下方法:
[1、开始分析]示例
// ES5引入方式
const { CutFillAnalysis } = zondy.cesium
// ES6引入方式
import { CutFillAnalysis } from "@mapgis/webclient-cesium-plugin"
// 1 初始化填挖方分析对象
const cutFill = new CutFillAnalysis(viewer, {
// 要采样的数据类型,0.0:地形,1.0:模型,2.0:场景(地形加模型)
dataType: 0,
// X坐标方向采样点的个数,数值越大采样点越多,采样耗时越久
xPaneNum: 16,
// Y坐标方向采样点的个数,数值越大采样点越多,采样耗时越久
yPaneNum: 16,
// 填挖方平整高程,低于该高度会计算填方体积,高于该高度会计算挖方体积
height: 1200,
// 采样后的回调函数
callBack: function (result) {
console.log("填挖方计算结果:", result)
}
});
// 设置填挖方范围数组,笛卡尔3坐标数组
cutFill.dotsPolygonList = []
// 如果不是模型采样,则添加要采样的地形
cutFill.terrainProvider = viewer.terrainProvider;
// 2 开始填挖方分析
//获取最大最小经纬度的值
const minMax = cutFill.getMinAndMaxCartesian()
// 开始分析
cutFill.start(minMax)