// export default function midCartesian (start, end) { // let c1 = global.DC.Namespace.Cesium.Ellipsoid.WGS84.cartesianToCartographic(start) // let c2 = global.DC.Namespace.Cesium.Ellipsoid.WGS84.cartesianToCartographic(end) // let cm = new global.DC.Namespace.Cesium.EllipsoidGeodesic(c1, c2).interpolateUsingFraction(0.5) // let cc1 = global.DC.Transform.transformCartesianToWGS84(start) // let cc2 = global.DC.Transform.transformCartesianToWGS84(end) // let lng = (cc1.lng - cc2.lng) / 2 + cc1.lng // let lat = (cc1.lat - cc2.lat) / 2 + cc1.lat // let alt = (cc1.alt - cc2.alt) / 2 + cc1.alt // let cc3 = global.DC.Transform.transformWGS84ToCartesian({ lng, lat, alt }) // return global.DC.Namespace.Cesium.Ellipsoid.WGS84.cartographicToCartesian(cm) // } export default function midCartesian (start, end) { let c1 = global.DC.Transform.transformCartesianToWGS84(start) let c2 = global.DC.Transform.transformCartesianToWGS84(end) let lng, lat, alt if (c1.lng >= c2.lng) { lng = c1.lng - (c1.lng - c2.lng) / 2 } else { lng = c1.lng + (c2.lng - c1.lng) / 2 } if (c1.lat >= c2.lat) { lat = c1.lat - (c1.lat - c2.lat) / 2 } else { lat = c1.lat + (c2.lat - c1.lat) / 2 } if (c1.alt >= c2.alt) { alt = c1.alt - (c1.alt - c2.alt) / 2 } else { alt = c1.alt + (c2.alt - c1.alt) / 2 } let c3 = global.DC.Transform.transformWGS84ToCartesian({ lng, lat, alt }) return c3 }