2013-05-06 4 views
3

GPS 위성 데이터를 가져 오는 간단한 활동을 작성 중입니다. 나는 최대가다는 것을 알고있다. 32 개의 GPS 위성이 있고 그 중 24 개가 작동합니다. 내 위치 (베를린 - 독일)에서 한 번에 최대를보아야합니다. 12 개의 GPS 위성. 내가 밖에서 응용 프로그램을 테스트 할 때 나는 12 개 이상의 눈에 보이는 위성을 얻는다. 종종 나는 심지어 20 이상을 얻었고 거의 모든 것이 수정으로 사용되었습니다. 다음 코드를 사용하여 위성 데이터를 표시합니다.Android에서 20 개가 넘는 Gps.Satellites를 정상적으로 볼 수 있습니까?

@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을 가지고 있습니다. 내가 잘못 했니? 그 인공위성들은 내가 궤도에있는 위성이 아닌가? 미리 감사드립니다.

+1

API 이름은 변경되지 않았지만 일부 휴대 전화는 이제 GPS + GLONASS (러시아어 GPS와 동일)를 사용합니다. 이는 더 많은 위성이 표시되고 수정 사항을 가져올 수 있음을 의미합니다. – Brian

+0

고마워요 브라이언! 나는 그런 생각을하지 않았다. 내 Galaxy S3를 사용하고 GPS/GLONASS를 지원합니다 (또한 상자에 적혀 있습니다). – user1516385

답변

4

반구에는 최대 16 개의 GPS 위성을 볼 수 있습니다. 더 많이 본다면 GLONASS와 같은 다른 GNSS 제공 업체 (또는 유럽에서는 2 대의 EGNOS 위성)가 있습니다.
GPS 위성은 PRN 번호가 1-32이므로 GLONASS와 구별 할 수 있습니다.

+0

이 답변과 약간 관련이 있습니다 : http://gis.stackexchange.com/questions/65412/is-there-an-industry-standard-official-mapping-of-glonass-satellites-to-prn-va – Flow