Suchen Sie ein Tool zum Konvertieren von DD in DMS?

9

Ich suche entweder ein Online-Tool oder eines, das ich herunterladen kann, um DD in DMS zu konvertieren.

Zum Beispiel möchte ich konvertieren von:

41.590833, -93.620833 bis 41 ° 35 ′ 27 ″ N, 93 ° 37 ′ 15 ″ W ... Dies sind laut Geohack die Koordinaten für Des Moines.

Shaun Rollins
quelle
WGS84 ist bereits in lat / long.
underdark
Sie möchten von DD nach DMS konvertieren. Sie können eine weitere Frage erneut stellen.
Artwork21
2
Verwenden Sie eine bestimmte GIS-Lösung? Wenn ja, können Sie durch die Bereitstellung dieser Informationen bessere Antworten von der Community erhalten.
Artwork21

Antworten:

13

Da selbst der Microsoft-Code fehlerhaft ist, kann es hilfreich sein, den richtigen Pseudocode für die Konvertierung anzugeben.

Gehen Sie wie folgt vor, um Dezimalgrade x in Grad ( d ), Minuten ( m ) und (Dezimal-) Sekunden ( s ) umzuwandeln :

Declare d, m as integer, s as float
If x < 0, then sign = -1 else sign = +1
Let y = Abs(x)          ' Work with positive values only.
Let d = Int(y)          ' Whole degrees.  Floor() is ok too.
Let z = 60*(y - d)      ' The fractional degrees, converted to minutes.
Let m = Int(z)          ' Whole minutes.
Let s = 60*(z - m)      ' The fractional minutes, converted to seconds.
Assert sign*(((s/60) + m)/60 + d) == x ' This confirms a correct result.
Return (sign*d, m, s)

Anstatt einen unterschriebenen Abschluss zurückzugeben, können Sie am Ende N / S oder E / W angeben:

If x is a latitude, then
   If sign == -1 then hemisphere = "S" else hemisphere = "N"
Else {x is a longitude}
   If sign == -1 then hemisphere = "W" else hemisphere = "E"
End if
Return (d, m, s, hemisphere)

Wenn Sie möchten, können Sie s auf eine Ganzzahl runden und die Ergebnisse so formatieren, dass sie mit der in der Frage angegebenen Form übereinstimmen.

whuber
quelle
Ich lade den anonymen Downvoter ein, diese Antwort zu verbessern ;-). (Ich glaube, er hat den Repräsentanten, um es zu tun.)
whuber
5

Es ist nicht sehr kompliziert zu tun, aber ich neige dazu, nur diese Webseite zu benutzen . Aber lassen Sie uns den Breitengrad in Ihrem Beispiel durcharbeiten. Die Dezimalgrade sind in diesem Fall gleich 41. Nehmen Sie nun den Rest und multiplizieren Sie mit 60. Dies ergibt 35.44998. Der ganzzahlige Teil ist die Sekunde (35 '). Nehmen Sie nun den Rest und multiplizieren Sie erneut mit 60. Sie erhalten die Sekunden (26.9998), die sich positiv mit Ihren obigen Ergebnissen vergleichen lassen.

Jose
quelle
4

Windows Calculator im wissenschaftlichen Modus erledigt den Trick für mich.

Mit der Schaltfläche "dms" gelangen Sie von Dezimalgraden zu Grad, Minuten, Sekunden.

Inv + dms (jetzt als deg angezeigt) geht in die andere Richtung.

Rabe
quelle
3

Es kann Ihnen helfen. Versuch's einfach. http://transition.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html

user3063
quelle
+1 Schöner Fund. Ich stelle fest, dass dieses Applet Längen im Bereich [-180, +180] erfordert. Der Quellcode wird am unteren Rand der Quelle der Seite angezeigt.
whuber