2016-02-23 8 views
1

Im Создание приложения iOS для альпинистов для получения высоты от SeaLevel, В настоящее время я застрял здесь. Я использую барометр iOS, чтобы получить детали, но он дает только Давление, относительная высота и временная отметка. есть ли расчет, чтобы получить высоту от уровня моря? Я использую следующий способ получения значений. Я использую CMAltimeteriOS Барометр SeaLevel Высота

NSNumberFormatter *formatter = [[NSNumberFormatter alloc]init]; 
formatter.maximumFractionDigits = 2; 
formatter.minimumIntegerDigits = 1; 

NSNumber *timestamp = [NSNumber numberWithDouble:altitudeData.timestamp]; 
NSString *timeInterval = [NSString stringWithFormat:@"%@", [formatter stringFromNumber:timestamp]]; 
NSString *altitude = [NSString stringWithFormat:@"%@", [formatter stringFromNumber:altitudeData.relativeAltitude]]; 
NSString *pressure = [NSString stringWithFormat:@"%@", [formatter stringFromNumber:altitudeData.pressure]]; 

self.label1.text = [NSString stringWithFormat:@"Time Interval: \n%@", timeInterval]; 
self.label2.text = [NSString stringWithFormat:@"Relative Altitude: \n%@", altitude]; 
self.label3.text = [NSString stringWithFormat:@"Air Pressure: \n%@", pressure]; 

ответ

5

Хранить в моем, что это будет работать только с iPhone 6 и выше, так как только они построили в барометр. Формула, которую вы хотите, называется гипсометрической формулой.

P0 is sea-level pressure in hPa 
P is atmospheric pressure in hPa 
T is temperature in C 
h is altitude in meters 

enter image description here

#include <math.h> 
h = ((pow(p0/p,1/5.257)-1)*(t+273.15))/0.0065; 
+0

Спасибо, и отметил – Nan

+0

Спасибо! Обходился вокруг этого! –

+0

Можно ли сказать, как получить это P0, P, T и h из барометра? –