java 卫星轨道6根数实现轨道预测
最近公司有个卫星的项目。实现轨迹预测。也就是说在一定时间内。某个区域中,卫星画过的轨迹
这是一个星期内算出的预测轨迹 。在区域内的点数然后进行连线并生成响应缓冲区效果如下图
上图是计算的北京2022-06-02到 2022-06-09一个星期内经过的点位。
其中做到上图效果要首先根据6根数。计算出一个经纬度点位信息。然后根据某个时间段,迭代生成点位。生成的点位过境的(在区域内的)要进行加密处理。然后对相近时间段的数据进行连线处理。如果在相近时间段(30s)生成的点位,只有一个的情况下。要根据一定角度和距离。预测另个点的位置。然后再进行相连。然后返给前端。进行渲染。前端要实现的是。根据线数据进行缓冲区处理。也就实现了上图的效果。前端用的是openlayers实现的。需要注意的是,多普段:降轨 微光:升轨。然后根据极区66-90维度范围内,来判断选择区域大小。目前极区范围内的不做区域面积限制。
部分代码截图如下。
以下代码判断点是否在多边形内/*** 判断点是否在多边形内** @param point 检测点* @param pts 多边形的顶点* @return 点在多边形内返回true, 否则返回false*/ public static boolean IsPtInPoly(Point2D.Double point, List<Point2D.Double> pts) {int N = pts.size();boolean boundOrVertex = true; //如果点位于多边形的顶点或边上,也算做点在多边形内,直接返回trueint intersectCount = 0;//cross points count of xdouble precision = 2e-10; //浮点类型计算时候与0比较时候的容差Point2D.Double p1, p2;//neighbour bound verticesPoint2D.Double p = point; //当前点p1 = pts.get(0);//left vertexfor (int i = 1; i <= N; ++i) {//check all raysif (p.equals(p1)) {return boundOrVertex;//p is an vertex}p2 = pts.get(i % N);//right vertexif (p.x < Math.min(p1.x, p2.x) || p.x > Math.max(p1.x, p2.x)) {//ray is outside of our interestsp1 = p2;continue;//next ray left point}if (p.x > Math.min(p1.x, p2.x) && p.x < Math.max(p1.x, p2.x)) {//ray is crossing over by the algorithm (common part of)if (p.y <= Math.max(p1.y, p2.y)) {//x is before of rayif (p1.x == p2.x && p.y >= Math.min(p1.y, p2.y)) {//overlies on a horizontal rayreturn boundOrVertex;}if (p1.y == p2.y) {//ray is verticalif (p1.y == p.y) {//overlies on a vertical rayreturn boundOrVertex;} else {//before ray++intersectCount;}} else {//cross point on the left sidedouble xinters = (p.x - p1.x) * (p2.y - p1.y) / (p2.x - p1.x) + p1.y;//cross point of yif (Math.abs(p.y - xinters) < precision) {//overlies on a rayreturn boundOrVertex;}if (p.y < xinters) {//before ray++intersectCount;}}}} else {//special case when ray is crossing through the vertexif (p.x == p2.x && p.y <= p2.y) {//p crossing over p2Point2D.Double p3 = pts.get((i + 1) % N); //next vertexif (p.x >= Math.min(p1.x, p3.x) && p.x <= Math.max(p1.x, p3.x)) {//p.x lies between p1.x & p3.x++intersectCount;} else {intersectCount += 2;}}}p1 = p2;//next ray left point}if (intersectCount % 2 == 0) {//偶数在多边形外return false;} else { //奇数在多边形内return true;}}
极区范围:66-90
java 卫星轨道6根数实现轨道预测相关推荐
- 轨道六根数 matlab,轨道六根数
在二体问题中,轨道根数(orbital factors)是描述物体运动轨迹的简便形式.三维空间中,唯一确定物体轨迹需要六个参数,如位置矢量和速度矢量(均为三维)可共同确定物体轨迹.此外,用六个轨道根数 ...
- java版通过轨道6根数实现计算出经纬度坐标
近期公司有个项目,实现卫星六根数实现计算出经纬度坐标,因为在网上找不到java资源.翻阅了大量的文章.然后自己着手去根据matlab代码实现了java语言的转换. 卫星轨道6根数主要有半长轴a.离心率 ...
- 用c++根据轨道六根数计算卫星位置
轨道六根数是描述卫星轨道的一组参数,包括: 轨道长半径(a):卫星轨道的半径,表示卫星到地球中心的平均距离. 轨道偏心率(e):卫星轨道的偏心率,表示轨道的椭圆程度. 轨道倾角(i):卫星轨道与地球赤 ...
- 轨道六根数的含义汇总
文章目录 轨道六根数 概述 其他表示 (1)半长轴 椭圆 抛物线 双曲线 与速度位置的转化 椭圆 双曲线 (2)离心率 离心率标量 椭圆 抛物线 双曲线 离心率矢量 (3)轨道倾角 (4)近心点辐角 ...
- TLE两行数与轨道六根数转换
TLE与轨道六根数转换方法 一.TLE格式讲解 二.轨道六根数 三.TLE与六根数转换 1."每天环绕地球的圈数"与"轨道半长轴"转换 2.平近点角与真近点角的 ...
- 人造地球卫星轨道外推Matlab,一种适用于圆轨道卫星的星上自主轨道外推方法
一种适用于圆轨道卫星的星上自主轨道外推方法 [专利摘要]本发明公开了一种适用于圆轨道卫星的星上自主轨道外推方法,其利用地面注入的平根数,采用简化的外推模型,由星载计算机轨道处理模块根据该简化的外推模型 ...
- GNSS之轨道六根数及常见轨道类型
文章目录 GNSS之轨道六根数及常见轨道类型 一.轨道六根数 二.轨道类型 1.与赤道面成64°角的椭圆轨道 2.圆形LEO 3.圆形MEO 4.地球同步轨道 5.临界倾斜轨道 Critically ...
- cesium中轨道六根数的参数命名
cesium中轨道六根数的参数命名: Semimajor Axis(SMA) 半长轴:是椭圆长轴的一半.对于圆,也就是半径,另外根据开普勒第三定律,半长轴与运行周期之间有确定的换算关系. Eccent ...
- 铁路轨道不平顺数据分析与预测
铁路轨道不平顺数据分析与预测 1.引言 铁路轨道作为铁行车的基础设施,是铁路线路的重要组成部分.随着经济和交通运输业的发展,我国的铁路运输正朝着高速和重载方向迅速发展,与此同时,轨道结构承受来自列车荷 ...
- 轨道六根数(开普勒六参数)
名称 描述 半长轴 椭圆轨道长轴的一半,有时可视作平均轨道半径. 离心率 椭圆轨道两焦点距离与长轴长度的比值,是椭圆轨道扁平程度的一种量度. 轨道倾角 行星轨道面与黄道面的倾角. 升交点赤经 / 黄经 ...
最新文章
- 机器学习算法库scikit-learn的安装
- hybrid开发调试记录
- 01-gt;选中UITableViewCell后,Cell中的UILabel的背景颜色变成透明色
- 让cp显示进度的脚本
- windows server2012在已有.net4.5框架的基础上安装.net3.5的方法
- Restarting ..Terminated
- opencv 车牌识别---新能源车牌处理(二值化后按位取反)
- 笔记本HDMI1.4 1080p下外接高刷显示器的实现方法之一
- Vue3关于页面跳转(push)的时候,并传递数据过去
- 8.4 Hyperplanes (超平面)
- Dubbo入门到实战(一)
- xiaopiu怎么导出html,xiaopiu原型工具
- 高等数学一:函数与极限二:对数列极限定义的理解
- 故障分析 | Cassandra 用户信息 list Error
- 什么是BCD码?BCD码编码规则
- proteus学习笔记一:点亮LED
- 【转】DRY原则的误区
- 深度学习-Resolution-robust Large Mask Inpainting with Fourier Convolutions基于傅里叶卷积的对分辨率鲁棒的掩模修复
- 石河子全国计算机报名系统入口,石河子雅思考试报名入口
- Logback 为日志配置颜色搭配(彩色搭配日志-搭配方案)
热门文章
- Parsed mapper file:项目启动不起来
- L2-特立独行的幸福
- 阿尔伯塔大学计算机科学的申请条件,阿尔伯塔大学计算机科学硕士专业
- 造DPU芯片,如梦幻泡影?丨虚构短篇小说
- 天津大学计算机学院2019夏令营,天津大学环境学院2019年全国优秀大学生夏令营顺利举行...
- 数字电路实验 01 - | TTL门电路的逻辑功能测试
- python——金融商品多种均线指标综合运用模拟实现(MACD模型)
- EEE(Energy Efficient Ethernet)-节能以太网
- 7月11日自助装机配置专家点评
- linux下的chm阅读器?