iPhone核心位置:计算总高程损失/增益

Posted

技术标签:

【中文标题】iPhone核心位置:计算总高程损失/增益【英文标题】:iPhone Core Location: Calculate total elevation loss/gain 【发布时间】:2010-10-13 22:50:28 【问题描述】:

我想在记录核心位置数据结束时计算总高程损失和增益。我很难考虑这个数学。

假设我从 600 英尺开始并在跟踪过程中上下移动,我将如何计算我的海拔增益和损失?

想法?

【问题讨论】:

【参考方案1】:

如果要分别跟踪收益和损失,请保留两个累积成员变量 netElevationLoss 和 netElevationGain,均初始化为 0。

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation 
    if(oldLocation == nil)
        return;

    double elevationChange = oldLocation.altitude - newLocation.altitude;
    if (elevationChange < 0)
    
        netElevationLoss += fabs(elevationChange);
    
    else
    
        netElevationGain += elevationChange;
    

您还可以使用此方法跟踪总变化

netElevationChange = netElevationGain - netElevationLoss 

随时。

【讨论】:

【参考方案2】:

如果你上升,增加一个数字。如果你下降,增加(或减少?)另一个。

您决定如何处理噪音完全取决于您...

【讨论】:

以上是关于iPhone核心位置:计算总高程损失/增益的主要内容,如果未能解决你的问题,请参考以下文章

省电的iPhone定位

可以访问 iPhone GPS 接收器数据(不仅仅是核心位置纬度/经度)

需要有关使用核心位置计算距离的帮助

如何在 iPhone 上查看车速?

精度损失而引发的 bug

检测核心位置的 iPhone 设备功能