一种基于web服务的空间态势信息共享方法及系统与流程

文档序号:12465753阅读:267来源:国知局
一种基于web服务的空间态势信息共享方法及系统与流程

本发明涉及一种基于web服务的空间态势信息共享方法及系统,属于空间信息处理技术领域。



背景技术:

随着空间技术的迅速发展,外层空间得到了广泛的开发和利用。各国发射进入外层空间的航天器数量越来越多。这些航天器,在对地遥感观测、导航、通讯等诸多领域发挥了极其重要的作用。随着空间轨道上的航天器与人类开展科学研究、社会与经济活动的关系越来越密切,越来越多的人需要实时的了解或得到所关心航天器的目前所处的实时位置以及运行趋势。比如,导航应用需要了解GPS或者北斗卫星的实时的位置、国土资源监测用户需要了解资源遥感卫星过境某个区域的时段、无线电爱好者需要得到中继卫星过境的方位和时段等等。

为了实时监视这些空间目标,世界各大国纷纷投入巨资,建设了规模庞大的轨道目标跟踪与监视网络。例如,美国北美防空司令部(NORAD)就长期对航天器等空间驻留物体进行了跟踪、识别、整理和编目,并通过网站(celestrak.com和space-track.org)准实时的对外发布编目结果和两行根数形式(Two Lines Elements,TLE)的轨道根数。利用这些轨道根数,用户使用专用的计算软件,可以预报所关心航天器在一段时间内的位置。但是,目前要完成这个工作,用户需要在网站上查找卫星的轨道根数,并利用专业软件自行开展卫星的轨道,过程不仅繁琐、复杂,而且对于非专业来说,由于涉及复杂的坐标系统、时间系统的转换,往往无法得到所需要的空间态势信息。



技术实现要素:

本发明的目的是提供一种基于web服务的空间态势信息共享方法,以解决目前空间态势信息无法准确、快速获取的问题。本发明还提供了一种基于web服务的空间态势信息共享系统。

本发明为解决上述技术问题而提供一种基于web服务的空间态势信息共享方法,该方法包括以下步骤:

1)下载并解析所有编目航天器的属性和航天器TLE根数轨道数据,并将结果存入航天器信息数据库中;

2)解析用户发送的航天器信息网络查询请求,获取用户需要查询的需求;

3)按照所述需求从航天器信息数据库中查询相应航天器属性和轨道根数,并将航天器信息查询结果组织成JSON或者XML格式文件,通过http协议返回给用户。

进一步地,当用户有查询航天器位置需求时,所述步骤3)还需要根据从航天器信息数据库模块中查询得到的TLE轨道根数和用户请求的查询时间段计算航天器的位置,并将航天器的位置计算结果组织成JSON或者XML格式文件,通过http协议返回给用户。

进一步地,所述的步骤3)中航天器位置指的是航天器在J2000地心惯性坐标系中的位置,该位置信息是http服务器模块采用SGP4/SDP4计算模型计算得到。

进一步地,当用户查询航天器在地理坐标系位置时,所述步骤3)还需要将航天器在J2000地心惯性坐标系中的位置转换到地理坐标系,所采用的转换公式为:

其中M为极移矩阵,G为格林尼治真恒星时矩阵,N为章动矩阵,P为岁差矩阵,为航天器在地理坐标系下的坐标,为航天器在J2000地心惯性坐标系中的坐标。

进一步地,所述步骤1)中航天器信息数据库采用MariaDB搭建,航天器信息数据库模块查询利用Qt C++进行访问。

本发明还提供了一种基于web服务的空间态势信息共享系统,该共享系统包括航天器信息下载模块、航天器信息数据库模块和http服务器模块,

所述的航天器信息下载模块用于下载并解析所有编目航天器的属性和航天器TLE根数轨道数据;

所述的航天器信息数据库模块用于存入航天器信息下载模块所下载的航天器的属性和航天器TLE根数轨道数据,并为http服务器模块提供查询服务;

所述的http服务器模块用于解析用户发送的航天器信息网络查询请求,获取用户需要查询的需求,按照所述需求从航天器信息数据库模块中查询相应航天器属性和轨道根数,并将航天器信息查询结果组织成JSON或者XML格式文件,通过http协议返回给用户。

进一步地,当用户有查询航天器位置需求时,所述的http服务器模块还需要根据从航天器信息数据库模块中查询得到的TLE轨道根数和用户请求的查询时间段计算航天器的位置,并将航天器的位置计算结果组织成JSON或者XML格式文件,通过http协议返回给用户。

进一步地,所述的航天器位置指的是航天器在J2000地心惯性坐标系中的位置,该位置信息是http服务器模块采用SGP4/SDP4计算模型计算得到。

进一步地,当用户查询航天器在地理坐标系位置时,所述的http服务器模块还需要将航天器在J2000地心惯性坐标系中的位置转换到地理坐标系,所采用的转换公式为:

其中M为极移矩阵,G为格林尼治真恒星时矩阵,N为章动矩阵,P为岁差矩阵,为航天器在地理坐标系下的坐标,为航天器在J2000地心惯性坐标系中的坐标。

进一步地,所述的航天器信息数据库模块采用MariaDB搭建,航天器信息数据库模块查询利用Qt C++进行访问。

本发明的有益效果是:本发明首先下载并解析所有编目航天器的属性和航天器TLE根数轨道数据,并将结果存入航天器信息数据库中;然后解析用户发送的航天器信息网络查询请求,获取用户需要查询的需求;最后按照所述需求从航天器信息数据库中查询相应航天器属性和轨道根数,并将航天器信息查询结果组织成JSON或者XML格式文件,通过http协议返回给用户。本发明通过http协议支持下的Web Service标准提供公众服务,能够使公众能快速、准确、方便的获取航天器信息。

此外,公众不需要下载轨道根数,也不需要进行复杂的轨道计算,就可以方便、快捷的获取所关心航天器的属性、实时位置、未来运行轨迹等空间态势信息。

附图说明

图1是基于web服务的空间态势信息共享方法的流程图;

图2是http服务器工作原理图。

具体实施方式

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

本发明基于web服务的空间态势信息共享方法的实施例

为了让公众能快速、准确、方便的获取航天器实时位置与未来运行规律,本发明提供了一种基于web服务的空间态势信息共享方法,该方法通过互联网准实时同步NORAD最新编目信息和轨道根数,并且在服务器完成复杂的轨道计算,通过标准http协议支持下的Web Service标准,为公众提供共享数据,公众不需要下载轨道根数,也不需要进行复杂的轨道计算。而是可以利用互联网,通过输入简单参数,就可以方便、快捷的获取所关心航天器的属性、实时位置、未来运行轨迹等空间态势信息。该方法的流程如图1所示,具体实施步骤如下。

1.下载航天器属性和航天器TLE轨道根数数据。

航天器属性与TLE轨道根数的下载与更新是保证空间态势服务现势性的重要途径,本发明分别通过Celestrak网站保证航天器属性信息,通过space-track网址同步TLE轨道根数信息,来确保航天器信息与美国最新探测结果一致,本发明以1天为周期,自动连接Celestrak和space-track.com网站,自动下载并解析所有编目航天器的属性和两行根数轨道数据。

Celestrak网站在网址http://celestrak.com/pub/satcat.txt中存储了航天器等所有空间目标最新探测结果的编目和属性信息,航天器的属性信息如表1所示。

表1

space-track.org网站可以提供TLE轨道根数的实时下载功能,下载地址如下:

https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/orderby/NORAD_CAT_ID/format/3le

本发明每天定时通过互联网自动下载卫星属性数据和TLE轨道根数数据到本地,再根据属性数据和TLE数据中的航天器ID编号关联融合,形成统一、一致的数据表,存储于航天器信息数据库的“SAT”数据表中,该数据表即可作为空间态势服务的核心数据源。

2.解析用户发送的航天器信息网络查询请求,获取用户需要查询的需求。

本发明用户通过http服务器提供的Web Service发起查询请求,具体地,如图2所示,客户由客户端发送请求到http server,http Listener接受连接,创建http Processor对象;由http Processor对象读取tcp连接上的客户请求数据,并利用HttpRequestDecoder将数据解码成HttpRequest对象;http Processor对象根据HttpRequest对象获取用户需要查询的需求,根据需求从航天器信息数据库中查询航天器的属性和TLE轨道根数。

3.按照所述需求从航天器信息数据库中查询相应航天器属性和轨道根数。

本实施例中航天器信息数据库采用MariaDB搭建储航天器信息数据库,该数据库采用Qt C++访问,航天器信息数据库查询主要步骤包括:首先打开数据库、构建SQL查询语句、执行数据库查询三个步骤。利用QSqlDatabase的addDatabase("QMYSQL","smariadbObject")函数以及open()函数,可以打开数据库;然后根据SQL语句规则、字段名称以及用户需求,构造查询SQL语句和QSqlQuery对象;再调用QSqlQuery对象的exec函数执行数据库查询工作。QSqlQuery对象即可得到查询结果,根据字段名称和索引,获取查询的字段值。

如果用户有查询卫星位置需求,需要根据从数据库中查询得到的TLE轨道根数和用户请求的查询时间段,计算航天器的位置,并根据用户输入对结果坐标系统的要求,转换到相应的坐标系统。

目前成熟的、国际通用的TLE轨道计算方法采用的是NORAD和NASA发布的SGP4/SDP4计算模型,SGP4/SDP4计算模型充分考虑了一般摄动包括地区扁率、日月引力的长期和周期摄动影响,以及大气阻力产生的引力共振和轨道衰退。其中SGP4主要用于轨道周期小于225分钟的近地轨道物体,SDP4用于轨道周期大于225分钟的地球轨道物体的轨道计算。将获取的TLE轨道根数和时刻带入到该模型,即可计算得到相应时刻的航天器在J2000地心惯性坐标系中的位置和速度。

对于不少行业应用来说,希望能得到航天器在地理坐标系(如地心地固坐标系或WGS经纬度坐标系等)中的位置,这就需要对TLE轨道计算得到的航天器在J2000地心惯性坐标系(ECI)中的位置进行坐标系统转换。当用户查询航天器在地理坐标系位置时,所述的http服务器模块还需要将航天器在J2000地心惯性坐标系中的位置转换到地理坐标系,所采用的转换公式为:

其中M为极移矩阵,G为格林尼治真恒星时矩阵,N为章动矩阵,P为岁差矩阵,为航天器在地理坐标系下的坐标,为航天器在J2000地心惯性坐标系中的坐标。

4.将得到的航天器属性和轨道位置的查询结果通过http协议返回给客户端。

本发明采用REST(RepresentationalState Transfer)方式构建Web Service服务。客户端http请求数据的方式采用URI(统一资源标识)的方式,访问空间态势信息的web服务。具体格式如下:

http://hostname:port/sc?json=queryJsonString

其中,hostname为服务器IP或者域名,port为端口号,比如:www.cnssa.cn:8080。“sc”为本发明规定的查询航天器信息的关键字,表示spacecraft,服务端应用程序会根据该标识符调用航天器查询和轨道计算功能,标识符“sc”具有一个参数“json”,其值queryJsonString为json格式字符串,用于向服务器端发送查询的需求。queryJsonString中json字段格式说明如表2。

表2

其中jsonp为true时,查询返回的json格式字符串会放置于“callback()”的括号中,用于网页跨域访问支持。非网页客户端,无需callback关键字,即将jsonp设置为false即可。query嵌套有一个json格式查询条件,其中字段如表3所示。

表3

通过上述过程,用户可以根据自身需求查询航天器属性和轨道数据。例如,若用户要查询中国(PRC)所有卫星的属性信息,可以使用如下格式http请求:

http://hostname:8800/sc?json={"method":"query","jsonp":true,"query":{"owner":"PRC","status":"Active"}}

再如,查询中国(PRC)所有卫星在2016-08-1903:21:11到2016-08-1903:51:11时间段内,步长60秒的轨道数据,使用如下请求格式。

http://hostname:8800/sc?json={"method":"query","query":{"jsonp":true,"status":"Active","orbit":1,"mission":"Navigation","start":"2016-08-19T03:21:11","stop":"2016-08-19T03:51:11","step":60}}

用户提交上述格式请求后,服务器将通过http协议,以json数组的格式返回查询和计算结果。格式如下:

callback([resultJsonString1,resultJsonString2,resultJsonString3…]

数组的每个单元(resultJsonString)为一个航天器查询和计算结果,resultJsonString字段说明如表4所示,“callback()”是当查询条件中jsonp为true时出现,主要用于网页跨域访问。

表4

其中orbitdata=[T,X,Y,Z,VX,VY,VZ,Lat,Lon,Alt…]为轨道计算结果数组,每10个数为一组,分别代表[T,X,Y,Z,VX,VY,VZ,Lat,Lon,Alt],其中T为起始时刻到当前时刻的秒数,X、Y、Z表示航天器在该时刻J2000地心惯性坐标系中的位置,VX、VY、VZ表示航天器在该时刻J2000地心惯性坐标系中的速度,Lat、Lon、Alt表示航天器在该时刻WGS84坐标系中的纬度、经度、高度。返回值中,包含用户查询的航天器属性信息,也包含用户需要的指定时间段的位置信息,用户通过构建http查询条件,即可得到用户所关心的航天器信息以及在指定时刻的位置信息。

本发明基于web服务的空间态势信息共享系统的实施例

本实施例中的共享系统包括航天器信息下载模块、航天器信息数据库模块和http服务器模块,航天器信息下载模块用于下载并解析所有编目航天器的属性和航天器TLE根数轨道数据;航天器信息数据库模块用于存入航天器信息下载模块所下载的航天器的属性和航天器TLE根数轨道数据,并为http服务器模块提供查询服务;http服务器模块用于解析用户发送的航天器信息网络查询请求,获取用户需要查询的需求,按照所述需求从航天器信息数据库模块中查询相应航天器属性和轨道根数,并将航天器信息查询结果组织成JSON或者XML格式文件,通过http协议返回给用户。各模块的具体实现手段已在方法的实施例中进行了详细说明,这里不再赘述。

本发明通过互联网准实时同步NORAD最新编目信息和轨道根数,并且在服务器完成复杂的轨道计算,通过标准http协议支持下的Web Service标准,提供公众服务;公众不需要下载轨道根数,也不需要进行复杂的轨道计算,而是可以利用互联网,通过输入简单参数,就可以方便、快捷的获取所关心航天器的属性、实时位置、未来运行轨迹等空间态势信息。本发明有效提高了空间态势信息公众服务水平,为更多的行业和个人分享空间技术发展带来了便利。

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