一种实时卫星对地覆盖时间窗口的确定方法及装置与流程

文档序号:17548941发布日期:2019-04-30 18:06阅读:667来源:国知局
一种实时卫星对地覆盖时间窗口的确定方法及装置与流程

本发明属于卫星对地覆盖时间窗口定位技术领域,具体涉及一种实时卫星对地覆盖时间窗口的确定方法及装置。



背景技术:

随着航天技术的发展,空间对地观测技术已经成为决策部门获取地面信息的重要手段。利用遥感卫星过境分析计算对地覆盖时间窗口,能够有效提高遥感卫星数据信息资源的管理与应用。同时,二十一世纪地理空间科学与应用要求能够提供实时响应和应对高并发请求的在线服务,因此,如何实现并提供遥感卫星对地覆盖时间窗口的在线实时计算服务,是卫星过境分析研究面临的又一难题。

计算时间窗口的通用算法是跟踪传播法,该方法通过对卫星轨道进行连续采样,并依次判断采样点处卫星对目标的可观测性的来计算时间窗口。其计算结果精确,但效率较低。

2014年9月《计算机仿真》的第31卷第9期记载了一篇名称为“卫星对区域目标的时间窗口快速计算方法”,利用问题特性将卫星对区域的时间窗口计算转化为对区域每条边界的时间窗口计算,首先在不考虑地球自转下得到每条边界的时间窗口,然后根据地球自转特征对计算结果进行迭代修正,最后对所有的边界的时间窗口进行综合得到区域目标时间窗口。

但是上述记载的卫星对地覆盖时间窗口的计算方法,需要实时进行复杂的迭代计算;由于针对的是区域每条边界的时间窗口计算,因此无法较好地处理区域边界复杂的情况;算法未考虑椭圆轨道和地球非球形模型等因素影响,因此存在精度低、实时性不好的问题。



技术实现要素:

本发明的目的在于提供一种实时卫星对地覆盖时间窗口的确定方法及装置,用于解决现有技术中时间窗口确定过程中存在效率低、精度差、实时性不够的问题。

为实现上述目的,本发明提供的技术方案是:

一种实时卫星对地覆盖时间窗口的确定方法,该确定方法包括如下步骤:

(1)确定卫星对地覆盖范围对应的最大中心角;

(2)依据最大中心角对原始目标区域进行扩充,得到扩充四至范围的目标区域;

(3)获取当前时刻的卫星星下点位置,并根据当前时刻的卫星星下点位置判断是否在扩充四至范围的目标区域内;

(4)若在,则计算当前时刻卫星的对地覆盖范围,并判断卫星的对地覆盖范围是否与原始目标区域相交或包含,如果相交或包含,则当前时刻在时间窗口范围内,并记录当前时刻。

本发明所提供的技术方案,首先判断卫星星下点是否在扩充四至范围的目标区域内,当卫星星下点在扩充四至范围的目标区域内时再根据当前时刻卫星的对地覆盖范围和原始目标区域是否相交来判断当前时间是否在时间窗口的范围内,否则不再进行后续的计算,所以本发明提供的技术方案能够解决现有技术中时间窗口确定过程中存在效率低、精度差、实时性不够的问题。

进一步的,若当前时刻星下点不在扩充四至范围的目标区域内,则获取下一时刻星下点的位置并重新判断。

若当前时刻星下点不在扩充四至范围的目标区域内,需要再次进行计算。

进一步的,卫星对地覆盖范围的计算采用圆锥覆盖模型,计算过程为:

卫星对地覆盖范围的计算采用圆锥覆盖模型,计算过程为:

获取卫星大地坐标、地心坐标和卫星速度,并计算地固坐标系下星下点的经度、纬度和高度;

根据卫星测量传感器的半角、卫星大地坐标和地固坐标系下星下点的经度、纬度和高度确定卫星对地覆盖范围。

采用圆锥覆盖模型计算卫星对地覆盖范围,计算过程更加简单,计算速度较快。

进一步的,卫星对地覆盖范围的计算采用矩形覆盖模型,计算过程为:

获取卫星大地坐标、地心坐标和卫星速度,并计算地固坐标系下星下点的经度、纬度和高度;

根据矩形覆盖模型的水平半角、矩形覆盖模型的垂直半角、卫星大地坐标和地固坐标系下星下点的经度、纬度和高度确定卫星对地覆盖范围。

采用矩形覆盖模型计算卫星对地覆盖范围,计算结果更加准确。

进一步的,在确定卫星对地覆盖范围时,需要建立地固坐标系与卫星局部坐标系间饿转换关系。首先将地固系转换到卫星局部坐标系内,转换过程包括:

沿z轴正方向,绕z轴顺时针旋转角度lon;

沿y轴正方向,绕y轴逆时针旋转角度lat;

沿x轴正方向,逆时针旋转卫星运动方向与z轴夹角λ;

其中lon为卫星星下点在地固坐标系中的经度,lat为卫星星下点在地固坐标系中的纬度,夹角λ的计算方法为:速度向量(vx,vy,vz)沿z轴正方向,绕z轴顺时针旋转角度lon且沿y轴正方向,绕y轴逆时针旋转角度lat后,得到速度向量(v″x,v″y,v″z);计算(v″x,v″y,v″z)在当前坐标系下的yoz面的投影与轴oz的夹角,该夹角即为λ。

在局部坐标系内计算卫星对地覆盖范围,计算过程更简单。

一种实时卫星对地覆盖时间窗口的确定装置,包括处理器和存储器,所述存储器上存储有用于在处理器上执行的计算机程序;所述处理器执行所述计算机程序时,实现如下步骤:

(1)确定卫星对地覆盖范围对应的最大中心角;

(2)依据最大中心角对原始目标区域进行扩充,得到扩充四至范围的目标区域;

(3)获取当前时刻的卫星星下点位置,并根据当前时刻的卫星星下点位置判断是否在扩充四至范围的目标区域内;

(4)若在,则计算当前时刻卫星的对地覆盖范围,并判断卫星的对地覆盖范围是否与原始目标区域相交或包含,如果相交或包含,则当前时刻在时间窗口范围内,并记录当前时刻。

本发明所提供的技术方案,首先判断卫星星下点是否在扩充四至范围的目标区域内,当卫星星下点在扩充四至范围的目标区域内时再根据当前时刻卫星的对地覆盖范围和目标区域是否相交来判断当前时间是否在时间窗口的范围内,否则不再进行后续的计算,所以本发明提供的技术方案能够解决现有技术中时间窗口确定过程中存在效率低、精度差、实时性不够的问题。

进一步的,若当前时刻星下点不在扩充四至范围的目标区域内,则获取下一时刻星下点的位置并重新判断。

若当前时刻星下点不在扩充四至范围的目标区域内,需要再次进行计算。

进一步的,卫星对地覆盖范围的计算采用圆锥覆盖模型,计算过程为:

卫星对地覆盖范围的计算采用圆锥覆盖模型,计算过程为:

获取卫星大地坐标、地心坐标和卫星速度,并计算地固坐标系下星下点的经度、纬度和高度;

根据卫星测量传感器的半角、卫星大地坐标和地固坐标系下星下点的经度、纬度和高度确定卫星对地覆盖范围。

采用圆锥覆盖模型计算卫星对地覆盖范围,计算过程更加简单,计算速度较快。

进一步的,卫星对地覆盖范围的计算采用矩形覆盖模型,计算过程为:

获取卫星大地坐标、地心坐标和卫星速度,并计算地固坐标系下星下点的经度、纬度和高度;

根据矩形覆盖模型的水平半角、矩形覆盖模型的垂直半角、卫星大地坐标和地固坐标系下星下点的经度、纬度和高度确定卫星对地覆盖范围。

采用矩形覆盖模型计算卫星对地覆盖范围,计算结果更加准确。

进一步的,在确定卫星对地覆盖范围时,需要建立地固坐标系与卫星局部坐标系间饿转换关系。首先将地固坐标系转换到卫星局部坐标系内,转换过程包括:

沿z轴正方向,绕z轴顺时针旋转角度lon;

沿y轴正方向,绕y轴逆时针旋转角度lat;

沿x轴正方向,逆时针旋转卫星运动方向与z轴夹角λ;

其中lon为卫星星下点在地固坐标系中的经度,lat为卫星星下点在地固坐标系中的纬度,夹角λ的计算方法为:速度向量(vx,vy,vz)沿z轴正方向,绕z轴顺时针旋转角度lon且沿y轴正方向,绕y轴逆时针旋转角度lat后,得到速度向量(v″x,v″y,v″z);计算(v″x,v″y,v″z)在当前坐标系下的yoz面的投影与轴oz的夹角,该夹角即为λ。在局部坐标系内计算卫星对地覆盖范围,计算过程更简单。

附图说明

图1为本发明方法实施例中实时卫星对地覆盖时间窗口的确定方法流程图;

图2为本发明方法实施例中卫星对地面覆盖范围沿子午线的切面图;

图3为本发明方法实施例中卫星对地覆盖范围的切面图;

图4为本发明方法实施例中角α为极大值时的示意图;

图5为本发明方法实施例中圆锥覆盖模型的示意图;

图6为本发明方法实施例中圆锥覆盖模型与目标区域之间的关系图;

图7为本发明方法实施例中的矩形覆盖模型的示意图;

图8为本发明方法实施例中矩形覆盖模型与目标区域之间的关系图;

图9为本发明装置实施例中执行实时卫星对地覆盖时间窗口的确定方法的流程图;

图10a为本发明装置实施例中使用圆锥覆盖模型卫星对地覆盖范围进入地面区域的结果插值对比图;

图10b为本发明装置实施例中使用圆锥覆盖模型卫星对地覆盖范围离开地面区域的结果插值对比图;

图11a为本发明装置实施例中使用矩形覆盖模型卫星对地覆盖范围进入地面区域的结果插值对比图;

图11b本发明装置实施例中为使用矩形覆盖模型卫星对地覆盖范围离开地面区域的结果插值对比图;

图12a为本发明装置实施例中使用圆锥覆盖模型时单极耗时对比图;

图12b为本发明装置实施例中使用矩形覆盖模型时单极耗时对比图;

图13a为本发明装置实施例中使用圆锥覆盖模型时集群与单极耗时对比图;

图13b为本发明装置实施例中使用矩形覆盖模型时集群与单极耗时对比图。

具体实施方式

下面结合附图对本发明的实施方式作进一步说明。

方法实施例:

本实施例提供一种实时卫星对地覆盖时间窗口的确定方法,用于确定遥感卫星的对地覆盖时间窗口。

本实施例所提供的实时卫星对地覆盖时间窗口的确定方法,其流程如图1所示,具体包括如下步骤:

(1)确定卫星对地覆盖范围对应的最大中心角和卫星星下点坐标。

在地球椭球下,卫星对地面覆盖范围沿子午线的切面如图2所示,卫星对地面覆盖范围的切面如图3所示,点p为卫星星下点,是卫星与地心连线在地球椭球面上的交点;a1、a2、b1和b2分别为地球椭球最大横切面边上的四个点。

设p点在地固坐标系下的经度、纬度和高度为(lon,lat,alt),在计算p点在地固坐标系下的坐标时,首先检测出p点在大地坐标系、地固坐标系和j2000坐标系下的坐标;

设p点在大地坐标系下的坐标为(b,l,h),在地固坐标系下的坐标为(x,y,z),在j2000坐标系下的坐标为(vx,vy,vz),则

lon=l

lat=sin-1(y/r)

mn为以地心o为圆心,op为半径的圆弧;面oef为椭球在经度lon处的子午面;点a和b为卫星对地覆盖范围在面oef上的两个交点;

点a和点b到地心o的距离的求解过程复杂,但经过计算,在线弧ap对应的中心角为10°的情况下,doa与dop相差的最大长度不超过700米,因此可以使用dop等效距离doa和dob,即

doa≈dob≈dop

由图2可知,线弧ab所对应的中心角即为卫星对地覆盖范围对应的最大中心角,设该角为maxll;从图2中可以看出,当边as与边os的夹角φ越大,线弧ap对应的中心角就越大,相应的,线弧ab对应的中心角就越大;根据求解角度∠aop的公式可知,角φ固定的情况下,dps/dop比值越大,角α越大;dps的最大值为卫星轨道长半轴smajor,dop最小值为地球椭球的短半轴rminor。虽然卫星受轨道倾角的影响,可能无法经过南北极,但考虑到容错的情况,本实施例中角α为极大值时卫星与地心连线穿过南北极,如图4所示。

此时,maxll的计算公式为:

maxll=sin-1(smajorsinθ/rminor)

其中smajo为卫星轨道半长轴,θ为卫星传感器水平角和垂直角中的最大值,θ=max(θ1,θ2,)rminor为地球椭球短半轴。

(2)对原始目标区域进行扩充,得到扩充四至范围的目标区域;

原始目标区域由各个顶点按照顺序连接组合而成,各个顶点具有经纬度坐标,通过比较各个顶点的经纬度坐标,能够获取原始目标区域在正北方向的最大纬度、正南方向的最小纬度、正东方向的最大经度和正西方向的最小经度,即东南西北四个方向的边界,设各边界分别为maxlon,minlon,maxlat,minlat;

根据求得的卫星对地覆盖范围对应的最大中心角maxll,对目标区域的四至范围进行扩充,获取扩充四至范围的目标区域的最大经度、最大纬度、最小经度和最小纬度为maxlon+maxl,maxlat+maxll,minlon-maxll,minlat-maxll,其中

(3)根据当前时刻的卫星星下点位置判断是否在扩充四至范围的目标区域内,判断的方式为:

对卫星星下点p的经度lon和纬度lat进行如下判断:

(lon-maxlon-maxll)(lon-minlon+maxll)>0

(lat-maxlat-maxll)(lat-minlat+maxll)>0

如果上述两个关系式同时满足,则判断为当前卫星星下点在扩充四至范围的目标区域内,否则判断为当前卫星星下点不在扩充四至范围的目标区域内。

(4)如果当前卫星星下点不在扩充四至范围的目标区域内,说明当前时刻不在原始目标区域所在的时间窗,无需进行下一步计算,所以当判断出当前卫星星下点不在原始目标区域的四至范围内时,获取下一时间点的卫星星下点的坐标,并重新进行上述判断;

如果当前卫星星下点在扩充四至范围的目标区域内,则计算当前时刻卫星的对地覆盖范围,并判断卫星的对地覆盖范围是否与原始目标区域相交或包含,如果相交或包含,则当前时刻在时间窗口范围内,并记录当前时刻。

在计算当前时刻卫星的对地覆盖范围时,可以采用圆锥覆盖模型,也可以采用矩形覆盖模型。

当采用圆锥覆盖模型计算当前时刻卫星的对地覆盖范围时,圆锥覆盖模型如图5所示,计算方法为:

根据卫星s的坐标和卫星星下点p的坐标,计算出卫星s与卫星星下点p之间的距离;

根据卫星传感器得到∠asp的大小;本实施例中∠asp的大小为卫星传感器的半角;

根据卫星星下点p的坐标、卫星s的坐标和∠asp的大小,计算出a点的坐标;

将以卫星星下点p为圆心,以点a与卫星星下点p之间距离为半径的圆形区域为当前时刻卫星的对地覆盖范围;

根据圆锥覆盖模型计算出的当前时刻卫星对地覆盖范围为以p点为圆心的圆形区域g,如图6所示,其中矩形区域h即为原始目标区域b扩充四至范围的目标区域;

判断当前时刻卫星的对地覆盖范围g与原始目标区域b是否相交或包含,如果相交则判断为当前时刻在时间窗口范围内,否在判断为当前时刻不在时间窗口范围内。

当采用矩形覆盖模型计算当前时刻卫星的对地覆盖范围时,矩形覆盖模型如图7所示,计算方法为:

首先进行坐标系转换,由地固坐标系转换到局部坐标系中,转换的步骤包括:

step1:沿z轴正方向,地固坐标系绕z轴顺时针旋转角度lon;

step2:沿y轴正方向,绕y轴逆时针旋转角度lat;

step3:沿x轴正方向,逆时针旋转卫星运动方向与z轴夹角λ;

夹角λ的计算方法为:

设速度向量(vx,vy,vz)经过step1和step2后,得到速度向量(v″x,v″y,v″z);

计算(v″x,v″y,v″z)在地固坐标系的yoz面的投影与轴oz的夹角,该夹角即为λ。

α=sin-1(1+dps/dop)sinφ-φ

其中,α=∠aop,φ=∠asp,矩形覆盖模型中,角φ会随着点a的移动而变化;

当点a在边cd或ef上时:

φ=tan-1(tanθ1/cosβ1)

当点a在边cf或de上时:

φ=tan-1(tanθ2/cosβ2)

其中θ1为矩形覆盖模型的水平半角,即线sp与面csd的夹角;θ2为矩形覆盖模型的垂直半角,即线sp与面csf的夹角;β1为线ap与线m1m2的夹角;β2为线ap与线n1n2的夹角;在实际计算中,采用的8个采样点,即为c、d、e、f、m1、m2、n1、n2。

获取角α之后,计算点a在坐标系xyzstar中的坐标:

xa=dopcosα

ya=dopsinαsinδ

za=dopsinαcosδ

其中,δ为oa在面yoz上的投影与轴oz的夹角。

通过角α和角δ的不断变化,最终获取组成覆盖范围的各个采样点坐标,然后再转换到地固坐标系中,得到地固坐标系的旋转矩阵μstar2ecf为:

根据矩形覆盖模型计算出的当前时刻卫星对地覆盖范围为以p点为中心的区域i,如图8所示,其中矩形区域h即为原始目标区域b扩充四至范围的目标区域;

判断当前时刻卫星的对地覆盖范围i与矩形区域h是否存在交集,如果存在则判断为当前时刻在时间窗口范围内,否在判断为当前时刻不在时间窗口范围内。

判断当前时刻卫星的对地覆盖范围g与原始目标区域b是否相交或包含,如果相交则判断为当前时刻在时间窗口范围内,否在判断为当前时刻不在时间窗口范围内。

在判断当前时刻卫星的对地覆盖范围g与原始目标区域b是否相交或包含时,由于卫星多地覆盖区域g和原始目标区域b均为多边形,因此能够通过空间拓扑关系判断相互之间的关系。采用空间拓扑关系算法判断两个区域是否相交或包含属于现有技术,这里不多做介绍。

装置实施例:

一种实时卫星对地覆盖时间窗口的确定装置,包括处理器和存储器,存储器上存储有用于在处理器上执行的计算机程序;处理器执行计算机程序时,实现上述方法实施例中所提供的实时卫星对地覆盖时间窗口的确定方法。

在处理器执行计算出程序以实现上述方法实施例中所提供的实时卫星对地覆盖时间窗口的确定方法时,采用storm平台实现实时数据处理,保证计算与服务的实时性。处理器执行实时卫星对地覆盖时间窗口的确定方法的流程如图9所示,包括如下步骤:

step1:数据流通过kafka消息系统转发给数据处理topology。kafka消息系统具有高吞吐量、低延迟的特性,能够很好地应对高并发的需求。数据处理topology构建数据处理流程,根据系统cpu核数设置计算bolt的任务数,实现对系统硬件最大效率的使用。

step2:数据接收spout转发数据给任务分割bolt。任务分割bolt根据系统cpu的核数均分任务,并发送给计算bolt。

step3:计算bolt实现上述方法实施例中所提供的实时卫星对地覆盖时间窗口的确定方法,计算卫星对地覆盖时间窗口,并将结果发送结果汇总bolt。

step4:通过kafka消息系统将结果发送给用户或者存储在数据库中。

对上述方法实施例中所提供的实时卫星对地覆盖时间窗口的确定方法进行实验:

本实施例中实验平台操作系统为ubuntu16.04lts,处理器为intelcorei7-6700hq2.60ghz,8核,内存为16gb;stk版本为10.1,storm版本为1.2.1,storm分布式实时计算平台使用容器技术搭建。

实验目标卫星为资源三号01号星,实验数据如表1所示。

表1

(1)计算结果精度对比

通过计算时间跨度为10天的卫星对地覆盖范围时间窗口,比较本文计算结果、stk计算结果和真实结果,实现精度对比。其中,stk计算结果是通过使用stk中的access过境预报功能,获取的卫星对地覆盖时间窗口;采用上述方法实施例中所提供的实时卫星对地覆盖时间窗口的确定方法获取的结果;真实结果是在stk二维场景下,调整卫星对地覆盖范围和地面区域的实际空间关系,获取的时间窗口。本实施例将时间转换为简化儒略日(mjd),精度精确到毫秒,并将stk计算结果、本实施例计算结果分别与真实结果相减,差值对比结果如10a、图10b、图11a和图11b所示。

图10a为本发明装置实施例中使用圆锥覆盖模型卫星对地覆盖范围进入地面区域的结果插值对比图,横轴为卫星对地覆盖范围进入地面区域的顺序序列;图10b为本发明装置实施例中使用圆锥覆盖模型卫星对地覆盖范围离开地面区域的结果插值对比图,横轴为卫星对地覆盖范围离开地面区域的顺序序列。

图11a为本发明装置实施例中使用矩形覆盖模型卫星对地覆盖范围进入地面区域的结果插值对比图,横轴为卫星对地覆盖范围进入地面区域的顺序序列;图11b本发明装置实施例中为使用矩形覆盖模型卫星对地覆盖范围离开地面区域的结果插值对比图,横轴为卫星对地覆盖范围离开地面区域的顺序序列。

在11b中,部分序列处无数据,主要原因为,在stk计算结果中,07-0517:43:26.154时刻卫星对地覆盖范围离开地面区域,07-0517:43:29.869时刻卫星对地覆盖区域再次进入地面区域;真实结果中,07-0517:42:41.509时刻到07-0517:43:37.218时刻,本文计算结果中,07-0517:42:41.448时刻到07-0517:43:36.973时刻,卫星对地覆盖范围和地面区域一直存在相交或者包含关系。在进行数据差距对比时,图11b序列缺少数据处,为stk计算结果出错处。

从图10a、图10b、图11a和图11b中可以看出,stk结果与真实结果差值较大,且结果不稳定,甚至存在异常错误;上述方法实施例中所提供的实时卫星对地覆盖时间窗口的确定方法的计算结果与真实结果的差值较小,差距范围稳定。

圆锥覆盖模型结果差值统计描述如表2所示,矩形覆盖模型结果差值统计描述如表3所示。

表2

表3

在表2和表3中,均值对比表明,本实施例利用上述方法实施例中所提供的实时卫星对地覆盖时间窗口的确定方法计算的计算结果与真实结果差值的均值较小,更加接近于真实结果;方差对比表明,上述方法实施例中所提供的实时卫星对地覆盖时间窗口的确定方法计算结果与真实结果差值偏离均值较小,分布较为均匀,本文方法计算结果稳定。

(2)单极计算效率对比

在单极上通过计算跨度为10天的卫星对地覆盖范围时间窗口,对通用算法和上述方法实施例中所提供的实时卫星对地覆盖时间窗口的确定方法作对比测试,结果如图12a和图12b所示;

图12a为本发明装置实施例中使用圆锥覆盖模型时单极耗时对比图;图12b为本发明装置实施例中使用矩形覆盖模型时单极耗时对比图;

从如12a和图12b中可以看出,单极情况下,随着计算时间范围的扩大,本实施例所采用的实时卫星对地覆盖时间窗口的确定方法在效率方面具有较大的优势,计算效率提高10倍左右。

(3)分布式实时计算效率对比

计算平台主要节点分布如表4所示。其中,zookeeper节点用于nimbus和supervisor交互的中介;nimbus是strom框架的主进程,用于将代码包发送到各个节点上;supervisor负责实际处理工作的进程,本实施例的计算过程即在supervisor节点上运行。

表4

计算平台拓扑配置中,消息接收spout的并行度为1,任务数为1;数据分割bolt的并行度为2,任务数为2;数据计算bolt的并行度为4,任务数为4。与单极情况测试对比如13a和图13b所示。

图13a为本发明装置实施例中使用圆锥覆盖模型时集群与单极耗时对比图;图12b为本发明装置实施例中使用矩形覆盖模型时集群与单极耗时对比图。

从13a和图13b可以看到,随着时间跨度的增加,单极计算方式耗时呈线性迅速增加;当时间较短时,由于消息传递、任务分割等原因,storm分布式实时计算方式会出现耗时高于单极方式;当计算时间跨度增大时,storm分布式实时计算方式耗时增长缓慢,且耗时基本不超过1s,对于时间跨度较大的实时卫星对地覆盖时间窗口计算与服务而言,能够有效地满足用户的需求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1