Potrzebuję uzyskać dokładny pomiar wysokości za pomocą samego GPS.Android: Jak uzyskać dokładną wysokość?
Próbowałem Location.getAltitude(), ale to jest strasznie niedokładne. Jakaś rada?
Potrzebuję uzyskać dokładny pomiar wysokości za pomocą samego GPS.Android: Jak uzyskać dokładną wysokość?
Próbowałem Location.getAltitude(), ale to jest strasznie niedokładne. Jakaś rada?
Istnieją dwa problemy z użyciem wysokość GPS smartphone/tablet:
Dzięki. Sądzę więc, że nie mogę uzyskać dokładnej wysokości, chyba że mam dostęp do internetu w mojej aplikacji, aby poprawić wysokość Geoidu. – ask
Możesz to zrobić offline. Trzeba tylko obliczyć różnicę między poziomem elipsoidy i poziomem morza. Co nie jest banalne. Zobacz tę odpowiedź: https://stackoverflow.com/a/12811478/1561404 –
Są inne sposoby na osiągnięcie wysokości niż GPS. Możesz użyć barometru, ale nie ma jeszcze wielu urządzeń z czujnikami barometrycznymi (tylko te nowe). Zalecę skorzystanie z usługi internetowej w celu uzyskania pożądanych danych.
Oto jest pytanie, które powinno pomóc poprzez: Get altitude by longitude and latitude in Android
Innym sposobem byłoby analizowania ciągów NMEA. $GPGGA sentence zawiera już skorygowane dane wysokości nad poziomem morza.
Tak, wystarczy utworzyć słuchacza do NMEA ciągów dla swojej LocationManager i analizować komunikaty:
private GpsStatus.NmeaListener mNmeaListener = new GpsStatus.NmeaListener() {
@Override
public void onNmeaReceived(long timestamp, String nmea) {
parseNmeaString(nmea);
}
};
public void registerLocationManager(Context context) {
mLocationManager = (LocationManager) mContext.getSystemService(LOCATION_SERVICE);
mLocationManager.addNmeaListener(mNmeaListener);
}
private void parseNmeaString(String line) {
if (line.startsWith("$")) {
String[] tokens = line.split(",");
String type = tokens[0];
// Parse altitude above sea level, Detailed description of NMEA string here http://aprs.gids.nl/nmea/#gga
if (type.startsWith("$GPGGA")) {
if (!tokens[9].isEmpty()) {
mLastMslAltitude = Double.parseDouble(tokens[9]);
}
}
}
}
możliwe jest zastąpienie wysokość ostatniej lokalizacja obiektu odbierany przez słuchacza lokalizacji lub analizować całość nowa lokalizacja poprzez NMEA.
Prawdopodobny duplikat [Uzyskaj wysokość według długości i szerokości geograficznej w systemie Android] (http://stackoverflow.com/questions/1995998/get-altitude-by- long-and-latitude-in-android) –