使用 KML 在 Google 地球中绘制圆顶

Drawing a dome in Google Earth with KML

我需要画一个圆顶来象征 Google 地球 (GE) 中雷达探测能力的边缘,但我觉得很难。就目前而言,我还没有找到任何有用的工具来在 GE 中绘制均匀的圆圈。如果有人能提供帮助,我将不胜感激。

使用输入为 lat1/2、lon1/2 的 Vincenty 方程画一个圆,然后使用大圆计算(中点等)绘制穿过圆的线,所有线都通过圆心.).然后,将高度添加到不同分数长度的那些线。

我也用 Vincenty 创建了一个圆圈。但是,我将同心圆多边形堆叠在一起。棘手的一点是计算圆圈的点会超出地面上第一个圆圈的点。

查看此页面以了解方程式和大量解释:https://www.liutaiomottola.com/formulae/sag.htm。解决方案的长短在于计算矢状面,然后在给定偏离中心的情况下计算矢状面的高度。

在我的解决方案中,我可以放心地假设我的圆顶实际上只是一个 semi-circle(完美)。所以 sagitta 方程分解为:s = radius 并根据偏移量 (x) 计算高度 (h) 变为:h = squareRoot(radius^2 - x^2)

所以我的同心圆每次都缩小一公里,所以偏移因为radius - 1

我写了一个简单的python脚本来输出所有的坐标和高度。我使用 5 度方位偏移来获得所有点数。我本可以达到 1 度,但 KML 的大小开始变得有点太大,不符合我的口味。