Cerchi strumento per convertire DD in DMS?


9

Sto cercando uno strumento online o uno che posso scaricare per convertire DD in DMS.

Ad esempio, voglio convertire da:

41.590833, -93.620833 a 41 ° 35 ′ 27 ″ N, 93 ° 37 ′ 15 ″ O ... Quelle sono le coordinate, secondo un Geohack , per Des Moines.


WGS84 è già in lat / long.
underdark

vuoi convertire da DD a DMS. È possibile inviare nuovamente un'altra domanda che lo pone.
artwork21

2
userete una certa soluzione GIS? In tal caso, fornendo tali informazioni potrebbe fornirti risposte migliori dalla community.
artwork21

Risposte:


13

Poiché anche il codice Microsoft è difettoso, può essere utile fornire lo pseudocodice corretto per la conversione.

Per convertire i gradi decimali x in gradi ( d ), minuti ( m ) e secondi (decimale) ( s ), effettuare le seguenti operazioni:

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)

Invece di restituire una laurea firmata, puoi indicare N / S o E / W alla fine:

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)

Se lo desideri, puoi arrotondare s a un numero intero e formattare i risultati in modo che corrispondano al modulo indicato nella domanda.


Invito il downvoter anonimo a migliorare questa risposta ;-). (Credo che abbia il rappresentante per farlo.)
whuber

5

Non è molto complicato da fare, ma tendo a usare questa pagina Web . Ma esaminiamo la latitudine nel tuo esempio. I gradi decimali sono gli stessi, in questo caso 41. Ora, prendi il resto e moltiplica per 60. Questo ti dà 35.44998. La parte intera è i secondi (35 '). Ora, prendi il resto e moltiplica di nuovo per 60. Ottieni i secondi (26.9998), che si confronta positivamente con i risultati di cui sopra.


4

Il calcolatore di Windows in modalità scientifica fa al caso mio.

Il pulsante "dms" ti porta da gradi decimali a Gradi, Minuti, Secondi.

Inv + dms (ora mostrato come deg) va nell'altra direzione.



3

Potrebbe esserti d'aiuto. Prova. http://transition.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html


+1 Bella scoperta. Ho notato che questa applet richiede lunghezze nell'intervallo [-180, +180]. Il codice sorgente viene visualizzato nella parte inferiore della fonte della pagina.
whuber

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.