Cesium加载大数据量地下管线

TOC(Cesium 加载大数据地下管线)

Cesium 优化加载

管线、管井、路灯、交通信号灯、接电箱等模型使用 Primitive 优化加载(数据量 20 万,包含排水管线流动方向)。

管线加载

Primitive 中利用 geometryInstances 几何集合方式进行数据成管模型加载思路:

  1. 新建管线集合对象,利用 line_instances;
  2. line_instances 添加 cesium 几何对象 GeometryInstance;
  3. 最后使用 Primitive 进行添加 line_instances 集合对象;
    管线图
    排水管空心管绘制,实心管绘制,方形空心管,方形实心管
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function computeCircleFill(a) {
a = Number(a) / 1000;
a = a / 2;
var b = [];
for (var i = 0; i < 360; i++) {
var c = Cesium.Math.toRadians(i);
b.push(new Cesium.Cartesian2(a * Math.cos(c), a * Math.sin(c)));
}
return b;
}
function computeCircle(a) {
a = Number(a) / 1000;
a = a / 2;
var startAngle = 0;
var endAngle = 360;
var hd = a / 3;
var b = [];
for (var i = startAngle; i <= endAngle; i++) {
var c = Cesium.Math.toRadians(i);
b.push(new Cesium.Cartesian2(a * Math.cos(c), a * Math.sin(c)));
}
for (var i = endAngle; i >= startAngle; i--) {
var radians = Cesium.Math.toRadians(i);
b.push(
new Cesium.Cartesian2(
(a - hd) * Math.cos(radians),
(a - hd) * Math.sin(radians)
)
);
}
return b;
}

管井、摄像头、交通信号灯等模型加载

同样,我们使用 Primitive 的方式进行加载,新建模型集合对象 PrimitiveCollection,其次在使用 Primitive 集合进行添加即可。

与倾斜摄影模型结合加载

在加载管线的同时,我们亦可以加载倾斜摄影模型和白膜方式,进行可视化分析管理。
倾斜摄影与管线结合图
挖地分析
挖地分析图
了解更多:神男码农