在Android中获得超过20个可见的Gps.Satellites是不是正常?

Posted

技术标签:

【中文标题】在Android中获得超过20个可见的Gps.Satellites是不是正常?【英文标题】:Is it normal to get more than 20 visible Gps.Satellites in Android?在Android中获得超过20个可见的Gps.Satellites是否正常? 【发布时间】:2013-04-30 16:34:45 【问题描述】:

我正在编写一个简短的活动来获取 GPS 卫星数据。我知道有最大值。那里有 32 颗 GPS 卫星,其中 24 颗处于活动状态。在我所在的位置(柏林-德国),我一次只能看到最大值。 12 颗 GPS 卫星。当我在外面测试我的应用程序时,我确实得到了超过 12 颗可见卫星。通常我会得到超过 20 个,而且几乎所有这些都是在修复中使用的。我使用以下代码来显示卫星数据:

@Override
public void onGpsStatusChanged(int event) 
    //Call on GPS Status changes, such as satellites info
    String gpsStats = "";
    gpsStatus = locationManager.getGpsStatus(gpsStatus);
    if (gpsStatus != null) 
       Iterable<GpsSatellite>satellites = gpsStatus.getSatellites();
       Iterator<GpsSatellite>sat = satellites.iterator();
       int visibleSats = 0;
       while (sat.hasNext()) 
          satellite = sat.next();
          gpsStats += "SATELLITE " + (visibleSats++) + "\n"
                        + "\t PRN: " + satellite.getPrn() + "\n"                    
                        + "\t signal-noise-ratio: " + satellite.getSnr() + "\n"
                        + "\t azimuth: " + satellite.getAzimuth() + "°\n"
                        + "\t elevation: " + satellite.getElevation() + "°\n"
                        + "\t used in fix: " + satellite.usedInFix() + "\n"
                        + "\t has almanac data: " + satellite.hasAlmanac() + "\n"
                        + "\t has ephemeris data: " + satellite.hasEphemeris() + "\n"
                        + "\n";

       
       sats.setText(gpsStats);  
           

我得到的所有数据似乎都是正确的。它们都有不同的值和 PRN。我做错什么了吗?我看到的那些卫星不是在轨道上的吗?先感谢您。

【问题讨论】:

API 名称没有改变,但一些手机现在使用 GPS+GLONASS(俄罗斯相当于 GPS),这意味着可以看到更多卫星,并有可能用于修复。 谢谢布赖恩!我没有想到。我使用我的 Galaxy S3,它确实支持 GPS/GLONASS(也写在盒子上)。 【参考方案1】:

您可以在半球上看到最多 16 颗 GPS 卫星。如果您看到更多,它们来自另一个 GNSS 提供商,例如 GLONASS(或者在欧洲,有时是 2 个 EGNOS 卫星)。 GPS 卫星的 PRN 编号为 1-32,这样您就可以将它们与 GLONASS 区分开来。

【讨论】:

与此答案略有相关:gis.stackexchange.com/questions/65412/… Alex,这是有用的信息。你能告诉我你是怎么知道最大值是 16 的吗?这是来自地球上的任何一点吗?在轨呢? @nabelekt max 16 从地球表面的一点可见。

以上是关于在Android中获得超过20个可见的Gps.Satellites是不是正常?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 google.maps.places.Autocomplete 获得超过 5 个结果?

即使将其可见性设置为 GONE,Android View 仍会获得 OnClick()

ucwa 获得超过 100 个搜索结果

Android以编程方式获取可见布局的高度

从 android 设备获取超过 10000 个联系人

WPF 边框子可见性无效