Browse Source

模型拉伸

maxiaoxiao 6 months ago
parent
commit
cf9759a0f7
1 changed files with 24 additions and 19 deletions
  1. 24 19
      src/views/modelStretch/index.vue

+ 24 - 19
src/views/modelStretch/index.vue

@@ -73,13 +73,13 @@
             ></el-input-number> -->
           </el-col>
         </el-row>
-        <el-form-item label="模型名称:" prop="mxmc">
+        <!-- <el-form-item label="模型名称:" prop="mxmc">
           <el-input
             v-model="form.mxmc"
             size="mini"
             placeholder="请输入模型名称"
           ></el-input>
-        </el-form-item>
+        </el-form-item> -->
 
         <!-- <div class="SaveCenter">
               <el-button size="mini" type="primary" @click="onSubmit"
@@ -142,16 +142,17 @@ export default {
     },
     clickPoint() {
       pickPoint(true, (lon, lat, height) => {
-        this.form.height = Number(height.toFixed(6));
+        this.form.height = Number(height.toFixed(2));
       });
     },
     getDsm(geom, positions) {
-      if (positions) {
+      this.form.height = this.getjcHigeht(parse(geom));
+      if (!this.form.height && positions) {
         const filteredArr = positions.filter((item, index) => {
           if ((index + 1) % 3 == 0) return item;
         });
-        this.form.height = Number(Math.max(...filteredArr).toFixed(6));
-      } else this.form.height = 0;
+        this.form.height = Number(Math.max(...filteredArr).toFixed(2));
+      }
     },
     pullUp(item, height) {
       let upid = "up" + item.id;
@@ -288,23 +289,26 @@ export default {
     getjcHigeht(geojson) {
       // sampleTerrainMostDetailed
       let gcHight = 0;
-      if (viewer.terrainProvide) {
-        let center = getCentroid(geojson, 0);
-        var polycenter = [
-          Cesium.Cartographic.fromDegrees(center[0], center[1]),
-        ];
-        let allPoints = [];
-        for (let p = 0; p < polygon.length; p += 2) {
-          allPoints.push(
-            Cesium.Cartographic.fromDegrees(polygon[p], polygon[p + 1])
-          );
-        }
+      let center = getCentroid(geojson, 0);
+      var polycenter = [Cesium.Cartographic.fromDegrees(center[0], center[1])];
+      // let c3 = Cesium.Cartographic.fromDegrees(center[0], center[1]);
+      // let position = Cesium.Cartographic.fromCartesian(c3);
+      viewer.scene.sampleHeightMostDetailed(polycenter).then(function (data) {
+        gcHight = Number(data[0].height.toFixed(2));
+      });
+      if (!gcHight && viewer.terrainProvide) {
+        // let allPoints = [];
+        // for (let p = 0; p < polygon.length; p += 2) {
+        //   allPoints.push(
+        //     Cesium.Cartographic.fromDegrees(polygon[p], polygon[p + 1])
+        //   );
+        // }
+
         Cesium.sampleTerrain(viewer.terrainProvider, 11, polycenter).then(
           (updatedPositions) => {
-            gcHight = updatedPositions[0].height;
+            gcHight = Number(updatedPositions[0].height.toFixed(2));
           }
         );
-        console.log("---", gcHight);
       }
 
       return gcHight;
@@ -314,6 +318,7 @@ export default {
       // //基础高度(地形高度)加入地形后可删除
       let jcgd = 0;
       jcgd = this.form.height; //this.getjcHigeht(this.form.geojson);
+
       //顶部高度,底部高度
       let maxH = jcgd,
         minH = jcgd;