CLLocation高度属性在飞行中的有效性

Posted

技术标签:

【中文标题】CLLocation高度属性在飞行中的有效性【英文标题】:CLLocation altitude property validity in flight 【发布时间】:2019-01-30 21:14:45 【问题描述】:

我理解海平面以下负数和海平面以上正数的概念 + 有垂直精度来检查这个值的合理性。

我对飞行中的 GPS 数据感兴趣。 altitude 的最大值或近似最大值是多少,以便我可以区分飞行和公路旅行。

我知道我可以查询速度,但速度本身并不能解决问题。

【问题讨论】:

GPS 已禁用 above 18,000 feet;您需要参考该位置的地平​​面以确定您是否在地面上 @Paulw11 假设maximumOf(世界上最高的机动道路或最高的桥梁)+ 100m 缓冲区= 平面数据是否安全? 可能,但您仍然可以在低得多的飞机上。例如,大约 770m 的任何东西都在我所在的地方飞行,但 10 分钟后你必须在 1100m 才能飞行。 您是如何找到这些统计数据的:“大约 770m 的任何东西都在我所在的地方飞行”。您当前的海拔高度 + 一些缓冲区? 因为我知道我家海拔770m。 【参考方案1】:

从 GPS 高度确定飞行的正确方法是在数据库中查找当前位置的地面高度(纬度/经度)。如果 GPS 高度大于用户在飞行中(或在高层建筑中)。

这需要一个非常大的数据库,但数据是可用的。对于大多数应用程序来说,这可能不实用。查找 DEM 数据(数字高程模型)数据库,例如 SRTM、ASTER(参见here)

另一种方法是检测起飞。如果您只对喷气式飞机的飞行感兴趣,则需要检测从 100 节的直线加速度,然后如果 GPS 高度以 > 1000 fpm 的速度爬升,您很可能正在起飞的喷气式飞机中(尽管大多数螺旋桨飞机也可以爬升 >1000fpm)。

检测各种飞行(飞艇、热气球、轻型飞机)变得更加困难。很难区分飞机和爬山的汽车,尽管可以通过各种启发式方法进行区分。也很难区分热气球和高层建筑、低水平运动以及两种情况的海拔都高于地面。

【讨论】:

到目前为止,我已经能够使用 OSM 数据库消除训练数据,并将在不久的将来尝试 DEM 模型。感谢您的直观评论。

以上是关于CLLocation高度属性在飞行中的有效性的主要内容,如果未能解决你的问题,请参考以下文章

CLLocation的属性以及使用的解释

使用 Core Location 时,CLBeacon (iBeacon) 和 CLLocation (Coordinates) 之间应该如何选择?

CLLocation 如何实现 Equatable 协议?

iOS CoreLocation 海拔高度

iOS CLLocation 属性不保留值

在 iOS 中获取用户当前的速度和高度