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 を持っています。私は何か悪いことをしましたか?私が見ているそれらの衛星は、軌道上にあるものではありませんか? 前もって感謝します。