Browse Source

修改面积函数的无法使用的问题

tags/1.14.0
Caven Chen 4 years ago
parent
commit
972ac1e415
1 changed files with 4 additions and 11 deletions
  1. 4
    11
      src/core/math/area.js

+ 4
- 11
src/core/math/area.js View File

@@ -5,21 +5,14 @@

import Transform from '../transform/Transform'

const { Cesium } = DC.Namespace

export default function area(positions) {
let result = 0
if (positions && Array.isArray(positions)) {
let h = 0
let ellipsoid = Cesium.Ellipsoid.WGS84
let positions = [...positions].concat(positions[0])
for (let i = 1; i < positions.length; i++) {
let oel = ellipsoid.cartographicToCartesian(
Transform.transformWGS84ToCartographic(positions[i - 1])
)
let el = ellipsoid.cartographicToCartesian(
Transform.transformWGS84ToCartographic(positions[i])
)
let pos = positions.concat(positions[0])
for (let i = 1; i < pos.length; i++) {
let oel = Transform.transformWGS84ToCartesian(pos[i - 1])
let el = Transform.transformWGS84ToCartesian(pos[i])
h += oel.x * el.y - el.x * oel.y
}
result = Math.abs(h).toFixed(2)

Loading…
Cancel
Save