| | |
| | | } |
| | | } |
| | | |
| | | // 根据方案id获取方案列表 |
| | | export async function getSimDataById(id) { |
| | | try { |
| | | const res = await instance.get(`/simu/selectPage?id=${id}`); |
| | | return res.data; // 返回实际数据(通常 res.data 才是接口返回的内容) |
| | | } catch (error) { |
| | | console.error("Error fetching data:", error); |
| | | throw error; // 抛出错误,让调用方可以捕获 |
| | | } |
| | | } |
| | | |
| | | // 新建仿真方案 |
| | | export async function createSimData(simData) { |
| | | try { |
| | |
| | | throw error; |
| | | } |
| | | } |
| | | |
| | | // 开始模拟 |
| | | export async function getSimStart(ids) { |
| | | try { |
| | | const res = await instance.get(`/simu/start?id=${ids}`); |
| | | return res.data; |
| | | } catch (error) { |
| | | console.error("Error deleting simulation data:", error); |
| | | throw error; |
| | | } |
| | | } |
| | | // ************************************************************************************************************** |
| | | // 解析json获取泥石流参数 |
| | | export function parseWaterSimulationData(jsonData) { |
| | | try { |
| | | const startTime = jsonData.duration.start; // 直接使用原始时间 |
| | | const endTime = jsonData.duration.end; // 直接使用原始时间 |
| | | const extension = jsonData.extension; |
| | | const terrainSizes = jsonData.terrain.size; // 分辨率 |
| | | const waterTimestamps = jsonData.waters.data.map((timestamp) => { |
| | | return timestamp; // 不进行时间格式化 |
| | | }); |
| | | return { |
| | | startTime: startTime, // 原始时间 |
| | | endTime: endTime, // 原始时间 |
| | | extension: { |
| | | maxHeight: extension.maxHeight, |
| | | minHeight: extension.minHeight, |
| | | maxX: extension.maxx, |
| | | maxY: extension.maxy, |
| | | minX: extension.minx, |
| | | minY: extension.miny, |
| | | }, |
| | | terrainSizes: terrainSizes, |
| | | flowUrl: jsonData.flowUrl, |
| | | waterUrl: jsonData.waterUrl, |
| | | version: jsonData.version, |
| | | waterTimestamps: waterTimestamps, // 原始时间数组 |
| | | }; |
| | | const startTime = jsonData.duration.start; // 直接使用原始时间 |
| | | const endTime = jsonData.duration.end; // 直接使用原始时间 |
| | | const extension = jsonData.extension; |
| | | const terrainSizes = jsonData.terrain.size; // 分辨率 |
| | | const waterTimestamps = jsonData.waters.data.map((timestamp) => { |
| | | return timestamp; // 不进行时间格式化 |
| | | }); |
| | | return { |
| | | startTime: startTime, // 原始时间 |
| | | endTime: endTime, // 原始时间 |
| | | extension: { |
| | | maxHeight: extension.maxHeight, |
| | | minHeight: extension.minHeight, |
| | | maxX: extension.maxx, |
| | | maxY: extension.maxy, |
| | | minX: extension.minx, |
| | | minY: extension.miny, |
| | | }, |
| | | terrainSizes: terrainSizes, |
| | | flowUrl: jsonData.flowUrl, |
| | | waterUrl: jsonData.waterUrl, |
| | | version: jsonData.version, |
| | | waterTimestamps: waterTimestamps, // 原始时间数组 |
| | | }; |
| | | } catch (error) { |
| | | console.error("解析水模拟数据时出错:", error); |
| | | return null; |
| | | console.error("解析水模拟数据时出错:", error); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | // 通过接口去请求json,将请求的json解析获取泥石流参数 |
| | | export async function fetchWaterSimulationData(serviceInfo) { |
| | | try { |
| | | // const response = await fetch(`/simu/${serviceInfo}/layer.json`); // 发起请求 |
| | | const response = await fetch(`/simu/c2h1dc/layer.json`); // 发起请求 |
| | | const response = await fetch(`/simu/${serviceInfo}/layer.json`); // 发起请求 |
| | | // const response = await fetch(`/simu/c2h1dc/layer.json`); // 发起请求 |
| | | if (!response.ok) { |
| | | throw new Error(`HTTP error! status: ${response.status}`); |
| | | } |