我想在记录核心位置数据结束时计算总海拔损失和增益。我很难思考这个问题的数学原理。
假设我从 600 英尺处开始,在跟踪过程中上下移动,我将如何计算海拔增益和损失?
Ideas?
如果您想分别跟踪增益和损失,请保留两个累积成员变量 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
随时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)