我想在记录核心位置数据结束时计算总高程损失和增益。我很难想到这个的数学。
假设我从 600 英尺开始并在跟踪过程中上下移动,我将如何计算我的海拔增益和损失?
想法?
我想在记录核心位置数据结束时计算总高程损失和增益。我很难想到这个的数学。
假设我从 600 英尺开始并在跟踪过程中上下移动,我将如何计算我的海拔增益和损失?
想法?
如果您想分别跟踪收益和损失,请将两个累积成员变量 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
随时。
如果你上升,增加一个数字。如果你下降,增加(或减少?)另一个。
您决定如何处理噪音完全取决于您...