import { cartesianToXY } from "@/utils/map";
|
let water = null;
|
export function destoryWaterPrimitive() {
|
if (water) {
|
water.destroy();
|
water = null;
|
}
|
}
|
// export function createWaterPrimitive(rainfall) {
|
// if (water) {
|
// water.rainfall = rainfall;
|
// return;
|
// }
|
// // let positionArray = [
|
// // {
|
// // x: -2172418.4199554003,
|
// // y: 4339741.174232391,
|
// // z: 4124707.9687457774,
|
// // },
|
// // {
|
// // x: -2173054.1197314346,
|
// // y: 4339420.091643301,
|
// // z: 4124710.896091218,
|
// // },
|
// // {
|
// // x: -2172832.10576698,
|
// // y: 4338665.615224519,
|
// // z: 4125615.341361447,
|
// // },
|
// // {
|
// // x: -2171464.714295606,
|
// // y: 4337884.628113293,
|
// // z: 4127145.919793182,
|
// // },
|
// // {
|
// // x: -2170738.824348358,
|
// // y: 4338621.865525843,
|
// // z: 4126755.442367371,
|
// // },
|
// // {
|
// // x: -2171270.181257778,
|
// // y: 4338967.11477535,
|
// // z: 4126117.1692552743,
|
// // },
|
// // {
|
// // x: -2171120.444962885,
|
// // y: 4339310.237335228,
|
// // z: 4125837.0031219805,
|
// // },
|
// // {
|
// // x: -2171911.8873938583,
|
// // y: 4339707.853907823,
|
// // z: 4125007.7462886167,
|
// // },
|
// // {
|
// // x: -2171934.494218292,
|
// // y: 4339685.285760623,
|
// // z: 4125019.506657141,
|
// // },
|
// // ];
|
// // const coordinates = [];
|
// // positionArray.forEach((item) => {
|
// // const result = cartesianToXY(item);
|
// // coordinates.push(result.longitude, result.latitude, result.height);
|
// // });
|
// // water = earthCtrl.analysis.createWaterSimulateGPU({
|
// // //isDraw: true, // 是否绘制水面
|
// // height: -5,
|
// // maxHeight: 2000,
|
// // coordinates: coordinates,
|
// // // coordinates: [
|
// // // 116.57628914253382, 40.5654461866556, 0, 116.57628914253382, 40.552898897029046, 0,
|
// // // 116.60855621443835, 40.552898897029046, 0, 116.60855621443835, 40.5654461866556, 0,
|
// // // ],
|
// // // coordinates: [
|
// // // 116.568865, 40.590729, 0, 116.568865, 40.533505, 0,
|
// // // 116.608505, 40.533505, 0, 116.608505, 40.590729, 0,
|
// // // ],
|
// // })
|
// water = earthCtrl.simulate.createWaterSimulateLayer({
|
// // baseUrl: "http://192.168.10.187:81/20250412",
|
// // baseUrl: "http://192.168.56.107:8088/simu/c2h1d", //仿真服务url
|
// baseUrl: "/simu/c2h1dc", //仿真服务url
|
// interval: 125, //两帧请求的时间间隔,单位ms
|
// // color: new SmartEarth.Cesium.Color.fromCssColorString('#f4a460'),
|
// //清水色
|
// color: new SmartEarth.Cesium.Color.fromCssColorString("#D4F2E7"),
|
// //浑水色
|
// // color: new SmartEarth.Cesium.Color.fromCssColorString('#DEB887'),
|
// });
|
// console.log("water", water);
|
|
// // water.rainfall = 0.0001; // 调节雨量
|
// // water.rainPointMax = 2.0; // 渗水阈值
|
// // water.attenuation = 0.995; // 衰减
|
// // water.strenght = 0.25 // 水流强度
|
// }
|
export function createWaterPrimitive(options = {}) {
|
const { interval = 1000 } = options; // 默认 interval 为 1000
|
|
water = earthCtrl.simulate.createWaterSimulateLayer({
|
baseUrl: "/simu/c2h1dc", // 仿真服务url
|
interval, // 动态设置 interval
|
color: new SmartEarth.Cesium.Color.fromCssColorString("#D4F2E7"),
|
});
|
console.log(`Water simulation started with interval: ${interval}ms`);
|
}
|
export function initeWaterPrimitiveView() {
|
let view = {
|
destination: {
|
x: -2173603.2294639186,
|
y: 4338938.333124211,
|
z: 4128027.401463165,
|
},
|
orientation: {
|
pitch: -0.6208443477400212,
|
roll: 0.000049799989940702005,
|
heading: 3.6294612473618644,
|
},
|
};
|
viewer.scene.camera.flyTo(view);
|
}
|