|
@@ -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;
|