wangjuncheng
2025-07-14 263bf9730455a7bcc4fdc6471f8f9d0c96e47c9e
添加经纬度高度
已修改3个文件
66 ■■■■■ 文件已修改
src/views/left/CitySim.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/left/KGSimOption/PredictiveSimulation.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/left/KGSimOption/RealTimeSimulation.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/left/CitySim.vue
@@ -196,7 +196,7 @@
    }
    await simStore.addSimCheme(forms);
    // 打印拦挡坝所需要的数据
    // printDamEntities();
    printDamEntities();
    resetForm(); // 只有在保存成功后才重置表单
    EventBus.emit("close-selectArea");
  } catch (error) { }
@@ -655,9 +655,26 @@
    const entity = entities[i];
    if (entity.name && (entity.name === '栏档坝1' || entity.name === '栏档坝2')) {
      let position = entity.position?._value;
      // 如果有位置信息,就将其从笛卡尔坐标转为经纬度和高度
      let cartographic = undefined;
      if (position) {
        cartographic = Cesium.Cartographic.fromCartesian(position);
      }
      damDataList.push({
        name: entity.name,
        position: entity.position?._value,
        position: position ? {
          x: position.x,
          y: position.y,
          z: position.z
        } : null,
        cartographic: cartographic ? {
          longitude: Cesium.Math.toDegrees(cartographic.longitude), // 经度(度)
          latitude:  Cesium.Math.toDegrees(cartographic.latitude),  // 纬度(度)
          height:    cartographic.height                           // 高度(米)
        } : null,
        heading: entity.heading?._value ?? entity.heading,
        pitch: entity.pitch?._value ?? entity.pitch,
        roll: entity.roll?._value ?? entity.roll,
@@ -665,6 +682,7 @@
      });
    }
  }
  if (damDataList.length > 0) {
    console.log("【栏档坝实体数据列表】:", damDataList);
    deleteDamEntitiesAfterDelay();
src/views/left/KGSimOption/PredictiveSimulation.vue
@@ -254,11 +254,11 @@
// 打开保存方案对话框
const openSaveDialog = async () => {
  // 在 setup 内部更新 geom 的值
  printDamEntities();
  try {
    forms.geom = props.selectedArea;
    await simStore.addSimCheme(forms);
    // 打印拦挡坝所需要的数据
    // printDamEntities();
    resetForm();
    EventBus.emit("close-selectArea");
  } catch (err) {}
@@ -316,9 +316,26 @@
    const entity = entities[i];
    if (entity.name && (entity.name === '栏档坝1' || entity.name === '栏档坝2')) {
      let position = entity.position?._value;
      // 如果有位置信息,就将其从笛卡尔坐标转为经纬度和高度
      let cartographic = undefined;
      if (position) {
        cartographic = Cesium.Cartographic.fromCartesian(position);
      }
      damDataList.push({
        name: entity.name,
        position: entity.position?._value,
        position: position ? {
          x: position.x,
          y: position.y,
          z: position.z
        } : null,
        cartographic: cartographic ? {
          longitude: Cesium.Math.toDegrees(cartographic.longitude), // 经度(度)
          latitude:  Cesium.Math.toDegrees(cartographic.latitude),  // 纬度(度)
          height:    cartographic.height                           // 高度(米)
        } : null,
        heading: entity.heading?._value ?? entity.heading,
        pitch: entity.pitch?._value ?? entity.pitch,
        roll: entity.roll?._value ?? entity.roll,
@@ -326,6 +343,7 @@
      });
    }
  }
  if (damDataList.length > 0) {
    console.log("【栏档坝实体数据列表】:", damDataList);
    deleteDamEntitiesAfterDelay();
src/views/left/KGSimOption/RealTimeSimulation.vue
@@ -211,7 +211,7 @@
    formData.geom = props.selectedArea;
    await simAPIStore.addSimCheme(formData);
    // 打印拦挡坝所需要的数据
    // printDamEntities();
    printDamEntities();
    resetForm();
    EventBus.emit("close-selectArea");
  } catch (err) {}
@@ -416,9 +416,26 @@
    const entity = entities[i];
    if (entity.name && (entity.name === '栏档坝1' || entity.name === '栏档坝2')) {
      let position = entity.position?._value;
      // 如果有位置信息,就将其从笛卡尔坐标转为经纬度和高度
      let cartographic = undefined;
      if (position) {
        cartographic = Cesium.Cartographic.fromCartesian(position);
      }
      damDataList.push({
        name: entity.name,
        position: entity.position?._value,
        position: position ? {
          x: position.x,
          y: position.y,
          z: position.z
        } : null,
        cartographic: cartographic ? {
          longitude: Cesium.Math.toDegrees(cartographic.longitude), // 经度(度)
          latitude:  Cesium.Math.toDegrees(cartographic.latitude),  // 纬度(度)
          height:    cartographic.height                           // 高度(米)
        } : null,
        heading: entity.heading?._value ?? entity.heading,
        pitch: entity.pitch?._value ?? entity.pitch,
        roll: entity.roll?._value ?? entity.roll,
@@ -426,6 +443,7 @@
      });
    }
  }
  if (damDataList.length > 0) {
    console.log("【栏档坝实体数据列表】:", damDataList);
    deleteDamEntitiesAfterDelay();