3

SensorManager を使用して高度を取得する別の方法を見つけましたが、2 つのパラメーターが必要です。

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

実用的な例/コード スニペットで使用方法を教えてください。

UPDATES1 を取得するための Web サービス プロバイダー (WSP) の URL が見つかりましたp0 pressure at sea level。値を取得できましたが、返された値がわかりません。

WSP URL: 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>
4

2 に答える 2

5

試す

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);
于 2011-09-21T06:41:31.280 に答える
2

海面での現在の気圧(QNH)は、metarフィールドの「Q」の後の値です(hPa-ヘクトパスカル)。この場合、1000hPaです。

TAFとMETARの詳細については、ウィキペディアをご覧ください。

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

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

于 2012-04-27T07:47:10.100 に答える