Расположение ядра iPhone: рассчитать общую потерю высоты / усиления - PullRequest
2 голосов
/ 14 октября 2010

Я хочу рассчитать общую потерю высоты и усиление в конце записи данных о местоположении ядра. Мне трудно думать о математике для этого.

Скажите, если бы я начал с высоты 600 футов, а во время слежения я бываю вверх и вниз, как бы я рассчитал прирост и потерю высоты?

Идеи? * * 1005

Ответы [ 2 ]

2 голосов
/ 03 ноября 2010

Если вы хотите отслеживать прибыли и убытки отдельно, сохраняйте две совокупные переменные-члены, 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 

в любое время.

0 голосов
/ 14 октября 2010

Если вы идете вверх, увеличьте одно число.Если вы снизитесь, увеличьте (или уменьшите?) Другое.

Как именно вы решите справиться с шумом, зависит от вас ...

...