// 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;
|
}
|