我不知道这是否应该发生,但这绝对不是我想要的。
我有一个python脚本,它根据数据库中的纬度、经度和海拔高度创建一个kml文件。一旦创建了kml,一切看起来都很好,但每当你缩小或接近+/-90纬度(极点)时,方位就会变得一团糟。
有人知道这是谷歌地球的故障吗?还是应该是这样?有人知道怎么修吗?
在你得出谷歌地球上的箭头应该重新定向的结论之前,请听我说:地图上的箭头应指向彼此的背面,而且它们确实指向(大多数时候)。然而,正如我所说,如果你缩小或靠近两极,箭头就会侧向翻转。
我认为问题是,Google Earth假设所有占位符的方向都应该是相同的,基于一个占位符,因此在许多情况下,大多数箭头指向错误的方向。
如果你不相信我,请查看这个kml文件…(去北极,在它上面移动几次,你应该看到我在说什么。)(此外,下载后,右键单击并选择打开…谷歌地球-确保你也下载它。)
https://docs.google.com/file/d/0B_achbIA2bcBdnp5b3J3WlJ3U1U/edit?usp=drive_web
有什么想法吗?
在KML文件中,您正在<IconStyle>
内的<heading>
标记中指定图标标题。在我看来,你对方位的计算似乎产生了不希望的结果。您是否正在代码中执行`beaning=atan2((lon2-lat2)/(lat2-lat1))?如果是这样的话,你的计算会在两极附近爆炸(轴承也会不准确)。我怀疑你在做这种类型的计算,因为当你在纬度更高的地方前进时,箭头与轨道不对齐,方位计算的误差会增加。
如果您想从后续的lat-lon-alt对中精确计算方位,我建议将lat-lon-alt-对转换为三维笛卡尔位置向量,通过有限差分近似速度向量,然后在东北向下坐标系(如果您愿意,也可以在东-北向上坐标系)中解析速度方向。这样就可以准确地求解轴承。
tl;博士:不是谷歌地球搞砸了。我想这是你的方位计算。