Wie formatiert man GPS-Breiten- und Längengrad?

8

In android (java), wenn Sie den aktuellen Breiten- und Längengrad mit der Funktion getlatitude () usw. erhalten, erhalten Sie die Koordinaten im Dezimalformat:

  Breitengrad: 24.3454523 Längengrad: 10.123450

Ich möchte das in Grad und Dezimalminuten bringen, um so etwas wie folgt aussehen zu lassen:

  

Breitengrad: 40 ° 42'51 "N Längengrad: 74 ° 00'21" W

    
user3182266 27.01.2014, 13:33
quelle

6 Antworten

16

Um von Dezimalzahlen zu Grad zu konvergieren, können Sie wie folgt vorgehen

%Vor%

Referenz ist Android-Entwickler-Website .

Bearbeiten

Ich habe folgende Sache probiert und bekomme die Ausgabe:

%Vor%

Versuchen Sie verschiedene Optionen gemäß Ihrer Anforderung

    
dinesh sharma 27.01.2014, 13:48
quelle
4

Sollte etwas Mathe sein:

%Vor%

gleiches mit -122 (addiere 360 ​​wenn negativer Wert)

BEARBEITEN: Vielleicht gibt es eine API, die ich nicht kenne.

Verweise von: Wie finden Grad aus dem Breitengrad in Android?

Latitude und Longitude Werte (Grad) in Double konvertieren. Java

    
mshoaiblibra 27.01.2014 13:38
quelle
4

Wie bereits erwähnt, sind einige String-Manipulationen erforderlich. Ich habe die folgende Hilfsklasse erstellt, die den Speicherort in das DMS-Format konvertiert und die Angabe der Dezimalstellen für die Sekunden ermöglicht:

%Vor%     
Martin Weber 20.08.2016 15:28
quelle
0

Sie haben eine Koordinate in Dezimalgrad, dieses Repräsentationsformat heißt "DEG"

Und Sie wollen eine DEG zu DMS (Grad, Minuten, Sekunden) (z. B. 40 ° 42'51 "N),
Umwandlung.

Diese Java-Code-Implementierung bei Ссылка

wenn die DEG-Koordinatenwerte & lt; 0, ist es West für die Länge oder Süden für die Breite.

    
AlexWien 28.01.2014 18:03
quelle
0

Verwenden Sie dies

%Vor%

}

    
abi 11.11.2017 09:16
quelle
0

Hier ist eine Kotlin-Version, die aus Martin Webers Antwort übernommen wurde. Es setzt auch die richtige Hemisphäre; N, S, W oder E

%Vor%     
planetmik 14.03.2018 14:34
quelle