Parcourir la source

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

tags/1.14.0
Caven Chen il y a 4 ans
Parent
révision
972ac1e415
1 fichiers modifiés avec 4 ajouts et 11 suppressions
  1. 4
    11
      src/core/math/area.js

+ 4
- 11
src/core/math/area.js Voir le fichier

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

Chargement…
Annuler
Enregistrer