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核心位置:计算总高程损失/增益的主要内容,如果未能解决你的问题,请参考以下文章