小编Joa*_*ker的帖子

如何计算给定高度和压力的海平面压力

我正在写一个显示高度的表盘。高度是用 计算的SensorManager.getAltitude(seaLevelPressure, currentPresure)

但是为了初始化它,我需要海平面的压力。不幸的是没有SensorManager.getSeaLevelPressure(currentPressure,currentAltitude)

为此,我找到了以下公式(参见http://rechneronline.de/barometer/

private float calcSeaPressure(float pressure, int altitude) {
  float temperature = 9 + 273.15f;
  float tempGradient = 0.0065f;

  float v3 = temperature + tempGradient * altitude;
  float sealevelPressure = (float) (pressure / Math.pow((1 - tempGradient * altitude / v3), .03416f / tempGradient));
  sealevelPressure = (float) Math.round(sealevelPressure * 100) / 100;
  return sealevelPressure;
}
Run Code Online (Sandbox Code Playgroud)

但是这个算法和 SensorManager.getAltitude 中使用的算法似乎不太适合。如果我做:

public void setCurrentAltitude(int currentAltitude) {
  sealLevelPressure = calcSealevel(currentAltitude,currentPresure);
  altitude = SensorManager.getAltitude(seaLevelPressure, currentPresure)
}
Run Code Online (Sandbox Code Playgroud)

计算出的高度与给定的 …

java android wear-os

5
推荐指数
1
解决办法
1855
查看次数

标签 统计

android ×1

java ×1

wear-os ×1