一、界面搭建
- 使用vue2+Cesium开源引擎开发;
- UI组件使用iview、echarts等;
二、实现功能
2.1 可视化菜单:
2.1.1 移动平台运行轨迹
- 无人机飞行仿真
startAnalyse() {
if (drone) {
drone.EndRoaming();
console.log('delete drone')
}
let shpPath;
if (this.droneForm.roadLines === 'uavlines') {
shpPath = "static/shp/drone/uavline092301.shp";
} else {
shpPath = this.upLoadData
}
let position1 = Cesium.Cartesian3.fromDegrees(
112.62,
30.29,
0
);
if(this.viewer.entities.getById('cugBuildings')){
this.viewer.entities.removeById('cugBuildings')
}
let buildings = this.viewer.entities.add({
id: 'cugBuildings',
position: position1,
model: {
uri: "static/models/building_0.glb",
minimumPixelSize: 1000,
maximumScale: 2000,
},
});
let ds6 = shpToGeojson(
this.viewer,
shpPath,
[1.0, 0.0, 0.0, 1.0],
"线",
0.0,
"polyline"
);
let position;
let velocity = parseInt(this.droneForm.velocity)
let startPoint = parseInt(this.droneForm.startPoint)
ds6.then((res) => {
let dataSource = res[0];
let polyline = res[1][0].polyline;
position = polyline.positions._value;
drone = new DroneRoaming(this.viewer, {
name: "无人机1",
pathColor: Cesium.Color.YELLOW,
uri: `static/models/CesiumDrone.glb`,
velocity: velocity,
position: position,
startPoint: startPoint,
startTime: this.droneForm.date1