【问题标题】:GIS Draw a parabola flight path in kml for google earthGIS 为谷歌地球在 kml 中绘制抛物线飞行路径
【发布时间】:2009-03-17 16:16:08
【问题描述】:

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

我看到了如何使用高度参数进行抛物线视图。但是不太容易,如何从两个坐标(开始;结束)获取路径上的点。

谢谢!

【问题讨论】:

  • 我假设您想要 3 维飞行路径 (x,y,z) 或球坐标 (theta,alpha,radius)?此外,要生成抛物线(二次曲线),您至少需要三个点(例如起点、中间点和终点)。
  • 他可能假设了一个特定的重力值。这将所需的点数减少到 2。(尽管对于小距离,有 2 种解决方案,具体取决于发射角度是否大于/小于 45 度。)
  • 更正,你是对的,它是 3 点(或者你需要知道发射的速度/角度)。但是弹道飞行的水平和垂直分量可以假设是独立的。

标签: math gis kml google-earth


【解决方案1】:

也许我错了,但如果我没记错的话,如果两点之间的距离与地球半径相比相对较小,除了高度之外,路径将遵循great circle

如果你把坐标写成时间函数的参数方程,你会得到:

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 = 沿大圆弧的角度,然后是弹丸。您知道起点和终点,因此您可以使用spherical trigonometry 计算起点和终点之间的弧距 G0。 G0 = 时间 T0 的伽马(当弹丸着陆时)。这会告诉您 omega_horz 必须是什么 (= G0*R / T0)。

然后,您可以再次使用球面三角法计算大圆沿线任意点的纬度/经度。 (使用相似的三角形——我的大脑无法正确计算数学已经太晚了,抱歉)

假设:

A.

  • 与地球半径相比,起点/终点之间的距离很小
  • 所讨论的飞行是弹道轨迹(一些质量 M 仅在重力作用下上下移动,没有推力或升力)
  • 我们谈论的是地球,因此您可以对半径和重力 g 做出某些假设
  • 忽略空气阻力(现实生活中祝你好运)

B.

  • 这是针对营销类型的,所以您只需要看起来像抛物线的东西,所以无论如何都使用 A 中的假设

编辑:另请参阅projectile trajectoriesgreat circle distance 上的这些维基百科文章。

【讨论】:

  • 是的。你是对的;我错过了这个问题无需澄清即可回答的事实。
  • 很抱歉这么晚才回答,因为我看到您回复我的问题的速度有多快。我们找到了一种方法将路径从两个点分成许多点,只需说 20,然后为每个点给出一个高度 (y),y = x^2 ... 以及一些让它从 (0;0) 开始的技巧并结束 (pointB;0)。
猜你喜欢
  • 1970-01-01
  • 2011-02-12
  • 1970-01-01
  • 2013-11-16
  • 2013-06-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多