Ceiusm中点计算椭圆缓冲区 并合并成 包络
通过坐标点 半径生成椭圆
/** 根据经度、纬度、椭圆半径1、椭圆半径2、旋转角度 生成椭圆坐标数组
* @param x0 longitude
* @param y0 latutide
* @param radius1 x 轴半径 米
* @param radius2 y 轴半径 米
* @param route 角度
* @returns
*/
function computeCircle(x0: number, y0: number, radius1: number, radius2: number, route: number) {
var positions = [];
let dx = Math.PI * 2 * 6371000
const r1 = radius1 * 360 / dx
const r2 = radius2 * 360 / dx
for (var i = 0; i <= 360; i++) {
var radians = CesiumMath.toRadians(i);
let x1 = x0 + r1 * Math.cos(radians)
let y1 = y0 + r2 * Math.sin(radians)
let theta = CesiumMath.toRadians(-route);
let x = (x1 - x0) * Math.cos(theta) - (y1 - y0) * Math.sin(theta) + x0
let y =