コアロケーションデータの記録の最後に、標高の損失と利得の合計を計算したいと考えています。私はこれの数学を考えるのに苦労しています。
たとえば、600 フィートから開始し、追跡中に上下に移動した場合、標高の増減をどのように計算するのでしょうか?
アイデア?
コアロケーションデータの記録の最後に、標高の損失と利得の合計を計算したいと考えています。私はこれの数学を考えるのに苦労しています。
たとえば、600 フィートから開始し、追跡中に上下に移動した場合、標高の増減をどのように計算するのでしょうか?
アイデア?
利益と損失を別々に追跡する場合は、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
いつでも。
上に行く場合は、数字を 1 つ増やします。下がったら、もう一方を増やします(または減らしますか?)。
正確にどのようにノイズを処理するかはあなた次第です...