1

我正在为登山者制作一个 iOS 应用程序以获取SeaLevel的高度,目前我被困在这里。我使用 iOS Barometer 来获取详细信息,但它只提供压力、相对高度和时间戳。是否有计算从海平面获得高度?我正在使用以下方式来获取值。我正在使用CMA 高度计

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];
4

1 回答 1

5

请记住,这仅适用于 iPhone 6 及更高版本,因为只有它们内置了气压计。你想要的公式叫做hypsometric公式。

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

在此处输入图像描述

#include <math.h>
h = ((pow(p0/p,1/5.257)-1)*(t+273.15))/0.0065;
于 2016-02-23T13:46:19.357 回答