2

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

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

想法?

4

2 回答 2

2

如果您想分别跟踪收益和损失,请将两个累积成员变量 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 

随时。

于 2010-11-03T20:06:24.810 回答
-2

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

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

于 2010-10-14T00:42:57.510 回答