等高线

Contour

const colorFunc = (num: number) => {
let colorStart = Cesium.Color.WHITE;
let colorEnd = Cesium.Color.RED;
if (0 < num && num <= 0.25) {
colorStart = Cesium.Color.fromCssColorString('#0cf2f4');
colorEnd = Cesium.Color.fromCssColorString('#77f40c');
} else if (0.25 < num && num <= 0.5) {
colorStart = Cesium.Color.fromCssColorString('#77f40c');
colorEnd = Cesium.Color.fromCssColorString('#f4dc0c');
} else if (0.5 < num && num <= 0.75) {
colorStart = Cesium.Color.fromCssColorString('#f4dc0c');
colorEnd = Cesium.Color.fromCssColorString('#f45a0c');
} else if (0.75 < num && num <= 1) {
colorStart = Cesium.Color.fromCssColorString('#f45a0c');
colorEnd = Cesium.Color.fromCssColorString('#f00');
}
return Cesium.Color.lerp(colorStart, colorEnd, num, new Cesium.Color());
};
const analyser = new Contour(viewer.terrainProvider);
analyser.analyse(positions, state.interval)
.then(res => {
const step = (analyser.maxHeight - analyser.minHeight) / 4;
const minH = analyser.minHeight;
analyser.visualize(res, 6, colorFunc).forEach(item => primitives.add(item));
});

Constructors

  • Parameters

    • terrainProvider: TerrainProvider

    Returns Contour

Properties

breaks: number[] = []

等高线断点集合

Contour

interval: number = 50

等高线间隔

Contour

maxHeight: number = 0

最高高度

Contour

minHeight: number = 0

最低高度

Contour

Accessors

  • get gradeCount(): number
  • Returns number

    等高线等级数量(基于断点)

    Contour

Methods

  • 执行分析

    Parameters

    • positions: Cartesian3[]

      分析区域坐标点

    • interval: number = null

      间隔

    Returns Promise<ContourResult>

  • 清理

    Returns void

  • Parameters

    • t: number

      比例因子

    • startColor: Color = ...

      色带开始颜色

    • endColor: Color = ...

      色带结束颜色

    Returns Color

  • 处理等高线结果,返回等高线图元集合

    Parameters

    • result: ContourResult

      分析结果

    • lineWidth: number = 2

      等高线宽度

    • colorFunc: Function = null

      颜色回调函数

    Returns GroundPolylinePrimitive[]