Satellite

new mars3d.graphic.Satellite(options)

卫星综合体 对象类【统一管理卫星模型、轨道、视椎体】, 【需要引入 mars3d-space 插件库】

参数名称 类型 描述信息
options object

参数对象,包括以下:

参数名称 类型 默认值 描述信息
tle1 string 可选

卫星两行轨道数(TLE) 的tle1, 示例:'1 39150U 13018A 18309.20646405 .00000034 00000-0 12253-4 0 9993'

tle2 string 可选

卫星两行轨道数(TLE) 的tle2, 示例:'2 39150 97.9189 29.2064 0018076 220.9170 139.0692 14.76532215297913'

period number 可选

卫星运行周期(单位:分钟), 未传值时自动在tle2中解析

pointsNum number 60 可选

卫星轨道计算的点数量,值越大轨道越平滑度但占用资源越多(可能卡)

referenceFrame Cesium.ReferenceFrame Cesium.ReferenceFrame.INERTIAL 可选

使用地固系(ECEF坐标),还是地惯系(ECI惯性坐标)

numberOfDerivatives number 0 可选

每个位置的导数的数量;即速度、加速度等。

position Cesium.SampledPositionProperty 可选

当没有tle时,自定义传入动态坐标位置(含时序的点集合)

orientation Cesium.Property 可选

当没有tle时,自定义传入实体方向

attr object 可选

矢量数据的 属性信息,可以任意附加属性。

model ModelEntity.StyleOptions 可选

设置是否显示 gltf卫星模型 和对应的样式

label LabelEntity.StyleOptions 可选

设置是否显示 文本 和对应的样式

billboard BillboardEntity.StyleOptions 可选

设置是否显示 图标点 和对应的样式

point PointEntity.StyleOptions 可选

设置是否显示 像素点 和对应的样式

cone SatelliteSensor.StyleOptions | object 可选

设置是否显示 卫星视椎体 和对应的样式

path PolylineEntity.StyleOptions 可选

设置是否显示 卫星轨迹路线 和对应的样式,属性还包含:
// * @param {boolean} [options.path.closure=false] 是否闭合轨道圆

highlight object 可选

鼠标移入或单击(type:'click')后的对应高亮的部分样式,提示:原有style的配置项需要与highlightStyle配置有一一对应关系,否则无法清除 // * @param {string} [options.highlight.type] 事件方式,鼠标移入高亮 或 单击高亮(type:'click') // * @param {boolean} [options.highlight.enabled=true] 是否启用

参数名称 类型 描述信息
model ModelEntity.StyleOptions 可选

设置是否显示 gltf卫星模型 和对应的样式

label LabelEntity.StyleOptions 可选

设置是否显示 文本 和对应的样式

billboard BillboardEntity.StyleOptions 可选

设置是否显示 图标点 和对应的样式

point PointEntity.StyleOptions 可选

设置是否显示 像素点 和对应的样式

cone SatelliteSensor.StyleOptions | object 可选

设置是否显示 卫星视椎体 和对应的样式

path PolylineEntity.StyleOptions 可选

设置是否显示 卫星轨迹路线 和对应的样式

interpolation boolean true 可选

是否使用插值算法

interpolationAlgorithm number Cesium.LagrangePolynomialApproximation 可选

当interpolation为true时,使用的插值算法,如:Cesium.HermitePolynomialApproximation、Cesium.LagrangePolynomialApproximation、Cesium.LinearApproximation

interpolationDegree Cesium.InterpolationAlgorithm | number 5 可选

当interpolation为true时,使用的插值程度。

frameRate number 1 可选

多少帧获取一次数据。用于控制效率,如果卡顿就把该数值调大一些。

id string | number createGuid() 可选

矢量数据id标识

name string 可选

矢量数据名称

show boolean true 可选

矢量数据是否显示

参考:

继承

成员(属性)

readonly alt : number

当前海拔高度值

继承自:

angle1 : number

圆锥的角度或者四棱锥的第一个角度,半场角度,取值范围 0.1-89.9

angle2 : number

四棱锥的第二个角度,半场角度,取值范围 0.1-89.9

billboard : BillboardPrimitive

图标 子对象

继承自:

readonly center : Cesium.Cartesian3

中心点坐标 (笛卡尔坐标)

继承自:

readonly centerPoint : LngLatPoint

中心点坐标

继承自:

circle : CircleEntity

圆 子对象

继承自:

cone : SatelliteSensor|Array.<SatelliteSensor>|*

卫星视椎体(圆锥或四凌锥) 子对象

coneShow : boolean

是否显示视椎体

coneTrack : ConeTrack

圆锥体 子对象

继承自:

readonly coordinate : Array

位置坐标(数组对象),示例[113.123456,31.123456,30.1]

继承自:

readonly currIndex : number

当前飞行过的positions轨迹点数组的index顺序

继承自:

debugAxis : boolean

是否显示3个方向轴,用于对比测试

继承自:

debugAxisLength : number

显示3个方向轴时的对应轴长度,用于对比测试

继承自:

readonly groundPosition : Cesium.Cartesian3

求当前位置射线与地球相交点

继承自:

heading : number

四周方向角,0-360度角度值
提示:父类属性,非所有子类都具备

继承自:

height : number

坐标对应的高度值(单位:米)

继承自:

isPause : boolean

是否暂停状态 【针对全局时钟的,即 map.clock.shouldAnimate】

继承自:

label : LabelPrimitive|*

文本 子对象

继承自:

lookAt : Cesium.Cartesian3|Cesium.PositionProperty

卫星凝视的目标(卫星方向一直朝向这个目标所在位置)

model : ModelPrimitive

模型 子对象

继承自:

readonly modelMatrix : Cesium.Matrix4

将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵。
提示:父类属性,非所有子类都具备

继承自:

multiplier : number

倍速,构造完成的对象,可以调用此属性调整速度。

继承自:

objectsToExclude : Array.<object>|undefined

贴模型分析时,排除的不进行贴模型计算的模型对象,默认是当前本身,可以是: primitives, entities 等

继承自:

readonly orientation : Cesium.Quaternion

三维空间中的旋转 【仅部分对象支持】

继承自:

path : PathEntity

path路径 子对象

继承自:

pitch : number

俯仰角,上下摇摆的角度,0-360度角度值
提示:父类属性,非所有子类都具备

继承自:

point : PointPrimitive|*

像素点 子对象

继承自:

polyline : PolylineEntity

路线 子对象

继承自:

position : Cesium.Cartesian3|LngLatPoint

位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象

继承自:

readonly positionShow : Cesium.Cartesian3

当前实时位置坐标(笛卡尔坐标)

继承自:

readonly positionsShow : Array.<Cesium.Cartesian3>

同 positions只是为了兼容entity的同名属性

继承自:

readonly property : Cesium.SampledPositionProperty

时序动态坐标对象

继承自:

readonly readyPromise : Promise.<(ModelEntity|object)>

获取model模型子对象完成解析加载完成的Promise承诺

继承自:
使用示例:
route.readyPromise.then(function(graphic) {
    console.log("load完成", graphic)
  })

roll : number

滚转角,左右摆动的角度,0-360度角度值
提示:父类属性,非所有子类都具备

继承自:

readonly startTime : Cesium.JulianDate

开始时间

继承自:

readonly stopTime : Cesium.JulianDate

结束时间

继承自:

style : object

样式信息 【仅用于标绘,兼容其他graphic统一处理逻辑】

继承自:

readonly timeRange : object

获取当前已计算的轨道的开始时间和结束时间,格式为{start:'2021-01-01 00:00:00',end:'2021-01-01 12:01:02'}

readonly tle : Tle

卫星TLE算法类对象

readonly trackedEntity : Cesium.Entity|*

用于 map.trackedEntity 追踪的

继承自:

wall : WallEntity

墙体 子对象

继承自:

方法

addDynamicPosition(point, currTime)BasePointPrimitive

设置并添加动画轨迹位置,按“指定时间”运动到达“指定位置”。 【仅LabelPrimitive、PointPrimitive、BillboardPrimitive、ModelPrimitive 等部分子类支持】

参数名称 类型 默认值 描述信息
point LngLatPoint | Cesium.Cartesian3 | Array.<number>

指定位置坐标

currTime Cesium.JulianDate | Date | string | number Cesium.JulianDate.now() 可选

指定时间。当为String时,可以传入'2021-01-01 12:13:00'; 当为Number时,可以传入当前时间延迟的秒数。

返回值:

当前对象本身,可以链式调用

继承自:

autoSurfaceHeight(options)Promise.<object>

异步计算更新坐标高度进行贴地(或贴模型),内部自动调用PointUtil#getSurfaceHeight方法处理。

参数名称 类型 默认值 描述信息
options object {} 可选

参数对象:

参数名称 类型 默认值 描述信息
has3dtiles boolean auto 可选

是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)

objectsToExclude Array.<object> 可选

贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features

返回值:

异步计算完成的Promise

继承自:

computeModelMatrix(offest)Cesium.Matrix4

获取当前矩阵

参数名称 类型 描述信息
offest object

偏移值

参数名称 类型 描述信息
x number

X轴方向偏移值,单位:米

y number

Y轴方向偏移值,单位:米

z number

Z轴方向偏移值,单位:米

返回值:

当前矩阵

继承自:

eachChildGraphic(method, context)Route

遍历所有矢量数据并将其作为参数传递给回调函数

参数名称 类型 描述信息
method function

回调方法

context object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

继承自:

flyToPoint(options)Promise.<boolean>

定位到卫星当前所在位置

参数名称 类型 默认值 描述信息
options object {} 可选

具有以下属性的对象:

参数名称 类型 默认值 描述信息
scale number 1.5 可选

视角离卫星距离的缩放比例,计算公式:视角距离 = scale*卫星当前高度

heading number 可选

方向角度值,绕垂直于地心的轴旋转角度, 0至360

pitch number 可选

俯仰角度值,绕纬度线旋转角度, -90至90

roll number 可选

翻滚角度值,绕经度线旋转角度, -90至90

duration number 可选

飞行持续时间(秒)。如果省略,内部会根据飞行距离计算出理想的飞行时间。

complete Cesium.Camera.FlightCompleteCallback 可选

飞行完成后要执行的函数。

cancel Cesium.Camera.FlightCancelledCallback 可选

飞行取消时要执行的函数。

endTransform Cesium.Matrix4 可选

表示飞行完成后摄像机将位于的参考帧的变换矩阵。

maximumHeight number 可选

飞行高峰时的最大高度。

pitchAdjustHeight number 可选

如果相机的飞行角度高于该值,请在飞行过程中调整俯仰角度以向下看,并将地球保持在视口中。

flyOverLongitude number 可选

地球上2点之间总是有两种方式。此选项会迫使相机选择战斗方向以在该经度上飞行。

flyOverLongitudeWeight number 可选

仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。

easingFunction Cesium.EasingFunction.Callback 可选

控制在飞行过程中如何插值时间。

返回值:

如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise

getCoordinate(noAlt)Array

位置坐标(数组对象),示例[113.123456,31.123456,30.1]

参数名称 类型 描述信息
noAlt boolean

true时不导出高度值

返回值:

位置坐标(数组对象)

继承自:

getCoordinates(noAlt)Array.<Array>

位置坐标(数组对象),示例 [ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]

参数名称 类型 描述信息
noAlt boolean

true时不导出高度值

返回值:

位置坐标(数组对象)

继承自:

getRectangle(options)Cesium.Rectangle|object

获取数据的矩形边界

参数名称 类型 描述信息
options boolean 可选

控制参数

参数名称 类型 默认值 描述信息
isFormat boolean false 可选

是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }

返回值:

isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象

继承自:

pause()void

暂停 【针对全局时钟的,即 map.clock.shouldAnimate】

返回值:

继承自:

proceed()void

继续 【针对全局时钟的,即 map.clock.shouldAnimate】

返回值:

继承自:

setCameraOptions(cameraOptions)void

更新视角模式,传入空值代表取消。

参数名称 类型 描述信息
cameraOptions object 可选

参数,包括:

参数名称 类型 默认值 描述信息
type string 可选

视角模式类型,包括:'':无、'gs':跟随视角、'dy':第一视角、'sd':上帝视角

radius number 可选

'gs'跟随视角时的 离目标的距离值(单位:米)

heading number 可选

'gs'跟随视角时的 初始方向角度值,绕垂直于地心的轴旋转角度, 0至360

pitch number 可选

'gs'跟随视角时的 初始俯仰角度值,绕纬度线旋转角度, 0至360 *

followedX number 50 可选

'dy'锁定第一视角时,距离运动点的距离(后方)

followedZ number 10 可选

'dy'锁定第一视角或'sd'上帝视角时,距离运动点的高度(上方)

返回值:

继承自:

startDraw(layer)void

开始绘制矢量数据,绘制的数据会加载在layer图层。

参数名称 类型 描述信息
layer GraphicLayer

图层

返回值:

定义的类型

mars3d.graphic.Satellite.EventType

当前类支持的EventType事件类型

属性:
属性名称 类型 描述信息
change string

卫星位置变化了

使用示例:
//绑定监听事件
graphic.on(mars3d.EventType.change, function (event) {
  console.log('卫星位置发送了变化', event)
})
参考: