当前位置:  开发笔记 > 编程语言 > 正文

GIS绘制以kml为单位的抛物线飞行路径,用于Google地球

如何解决《GIS绘制以kml为单位的抛物线飞行路径,用于Google地球》经验,为你挑选了1个好方法。

我必须在谷歌地球上显示飞行路径并且(我仍然得到确切的飞行计划路径)想要以抛物线方式(标记侧)显示.从起飞到着陆点.基本上我正在寻找数学公式,用高度计算latlng点来显示抛物线路径.

我看到如何使用高度参数进行抛物线视图.但是,如果从两个坐标(开始;结束)获得积分,就不那么容易了.

谢谢 !



1> Jason S..:

也许我对此错了,但是如果我记得我的物理学正确,并且如果两个点之间的距离与地球半径相比相对较小,除了高度之外,路径将跟随一个大圆圈.

如果您将坐标作为时间函数的参数方程编写,您将获得:

gamma = v_horz/R * t
altitude = g * t * (T0 - t) / 2    
(where T0 = 2*v_vert/g = flight time, R = earth radius, g = earth's gravity) 
(vertical velocity = derivative of altitude = g/2*T0 - gt = v_vert - gt

其中gamma =沿着大圆弧的角度,然后是射弹.您知道起点和终点,因此可以使用球面三角法来计算起点和终点之间的弧度G0.G0 =时间T0处的伽马(当抛射物着地时).这告诉你omega_horz必须是什么(= G0*R/T0).

然后,您可以再次使用球面三角法来计算沿大圆的任何点的纬度/经度.(使用类似的三角形 - 在我的大脑正确地完成数学工作的那一天为时已晚,抱歉)

假设:

一个.

与地球半径相比,起点/终点之间的距离较小

有问题的飞行是一个弹道轨迹(一些质量M单独在重力作用下上下移动,没有推力或升力)

我们谈论的是地球,所以你可以对半径和重力g做出某些假设

忽视空气阻力(在现实生活中好运)

要么

B.

这适用于营销类型,因此您只需要看起来像抛物线的东西,所以只需使用A中的假设即可


编辑:另见这些关于射弹轨迹和大圆距离的维基百科文章.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有