Android: Как использовать SensorManager.getAltitude(float p0, float p)?

Я нашел альтернативный способ получения высоты с помощью SensorManager, но он требует двух параметров.

public static float  getAltitude  (float p0, float p)

Computes the Altitude in meters from the atmospheric pressure and the pressure at sea level.  

p0  pressure at sea level 
p   atmospheric pressure

Не могли бы вы научить нас, как использовать это на практическом примере / фрагмент кода.

ОБНОВЛЕНИЯ1 Я нашел URL поставщика веб-услуг (WSP), чтобы получить p0 pressure at sea level, Я успешно получил значение, но не понимаю возвращаемые значения.

URL WSP:http://avdata.geekpilot.net/

Вот пример выходных данных для международного аэропорта Токио (http://avdata.geekpilot.net/weather/HND)

<weather>
<ident>RJTT</ident>
<error/>
<metar>
2011/09/22 08:00
RJTT 220800Z 04019KT 9999 -SHRA FEW012 BKN025 BKN040 21/18 Q1000 NOSIG
</metar>
<taf>
2011/09/22 04:12
TAF 
      AMD TAF 
      AMD RJTT 220409Z 2204/2306 08016KT 9999 FEW030 SCT050 
      BECMG 2204/2206 05014KT 
      TEMPO 2207/2209 36018G30KT SHRA 
      BECMG 2303/2306 10008KT
</taf>
</weather>

2 ответа

Пытаться

List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_PRESSURE);
if(sensors.size() > 0) {


  sensor = sensors.get(0);
  mSensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_NORMAL);

}

 public void onAccuracyChanged(Sensor sensor, int accuracy) {
 }

 public void onSensorChanged(SensorEvent event) {
    presure = event.values[0];
 }

float altitude = getAltitude(SensorManager.PRESSURE_STANDARD_ATMOSPHERE, presure);

Текущее барометрическое давление воздуха на уровне моря (QNH) представляет собой значение после "Q" в метрическом поле (в гПа - гекто-Паскали). В этом случае 1000 гПа.

Больше информации о TAF и METAR можно найти в Википедии.

http://en.wikipedia.org/wiki/METAR

http://en.wikipedia.org/wiki/Terminal_aerodrome_forecast

Другие вопросы по тегам