Android的:如何使用SensorManager.getAltitude(P0浮动,浮动P)? [英] Android: How to use SensorManager.getAltitude(float p0, float p)?

查看:456
本文介绍了Android的:如何使用SensorManager.getAltitude(P0浮动,浮动P)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我发现使用的SensorManager获得高度的另一种方式,但它需要两个paramaters。

 公共静态浮动getAltitude(浮点P0,浮动P)

计算在米高度,从大气pressure和pressure在海平面上。

P0 pressure在海平面
p大气pressure
 

您会教我们如何通过实际的例子/ code段来使用它。

UPDATES1 我发现Web服务提供商(WSP)网址以获得 P0 pressure在海平面。我已经成功地获得价值但不明白的返回值。

WSP网址: http://avdata.geekpilot.net/

下面是为示例输出东京国际机场(http://avdata.geekpilot.net/weather/HND)

 <天气>
<的ident> RJTT< / IDENT>
<错误/>
< METAR>
2011年9月22日08:00
RJTT 220800Z 04019KT 9999 -SHRA FEW012 BKN025 BKN040 21/18 Q1000 NOSIG
< / METAR>
< TAF>
2011年9月22日04:12
TAF
      AMD TAF
      AMD RJTT 220409Z二千三百○六分之二千二百○四08016KT 9999 FEW030 SCT050
      BECMG二千二百零六分之二千二百零四05014KT
      TEMPO二千二百〇九分之二千二百〇七36018G30KT SHRA
      BECMG二千三百零六分之二千三百零三10008KT
< / TAF>
< /天气>
 

解决方案

尝试

 名单,其中,传感器及GT;传感器= sensorManager.getSensorList(Sensor.TYPE_ preSSURE);
如果(sensors.size()大于0){


  传感器= sensors.get(0);
  mSensorManager.registerListener(这一点,传感器,SensorManager.SENSOR_DELAY_NORMAL);

}
 


 公共无效onAccuracyChanged(传感器传感器,诠释精度){
 }

 公共无效onSensorChanged(SensorEvent事件){
    presure = event.values​​ [0];
 }
 


 浮球高度= getAltitude(的SensorManager preSSURE_STANDARD_ATMOSPHERE,presure。);
 

I found an alternative way to obtain altitude by using SensorManager but it requires two paramaters.

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

Would you teach us on how to use it by practical example/code snippet.

UPDATES1 I found web service provider (WSP) url to obtain the p0 pressure at sea level. I have successfully get the value but don't understand the returned values.

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

Here's the sample output for Tokyo International Airport (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>

解决方案

try

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);

这篇关于Android的:如何使用SensorManager.getAltitude(P0浮动,浮动P)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆