¿Busca herramienta para convertir DD a DMS?


9

Estoy buscando una herramienta en línea o una que pueda descargar para convertir DD a DMS.

Por ejemplo, quiero convertir de:

41.590833, -93.620833 a 41 ° 35 ′ 27 ″ N, 93 ° 37 ′ 15 ″ W ... Esas son las coordenadas, según un Geohack , para Des Moines.


WGS84 ya está en lat / long.
oscuro

desea convertir de DD a DMS. Podrías volver a enviar otra pregunta preguntando esto.
artwork21

2
¿utilizará una determinada solución SIG? Si es así, al proporcionar esa información puede darle mejores respuestas de la comunidad.
artwork21

Respuestas:


13

Debido a que incluso el código de Microsoft tiene errores, puede ser útil proporcionar un pseudocódigo correcto para la conversión.

Para convertir grados decimales x a grados ( d ), minutos ( m ) y segundos ((decimales) s ), hacen lo siguiente:

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)

En lugar de devolver un título firmado, puede indicar N / S o E / W al final:

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)

Si lo desea, puede redondear s a un número entero y formatear los resultados para que coincidan con el formulario proporcionado en la pregunta.


Invito al votante anónimo a mejorar esta respuesta ;-). (Creo que tiene el representante para hacerlo.)
whuber

5

No es muy complicado de hacer, pero tiendo a usar esta página web . Pero analicemos la latitud en su ejemplo. Los grados decimales son los mismos, en este caso 41. Ahora, toma el resto y multiplica por 60. Esto te da 35.44998. La parte entera son los segundos (35 '). Ahora, toma el resto y multiplica por 60 nuevamente. Obtiene los segundos (26.9998), que se compara positivamente con sus hallazgos anteriores.


4

La calculadora de Windows en modo científico me sirve.

El botón "dms" lo lleva de grados decimales a grados, minutos, segundos.

Inv + dms (ahora se muestra como deg) va a la inversa.



3

Te puede ayudar. Sólo inténtalo. http://transition.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html


+1 Buen hallazgo. Noté que este applet requiere longitudes en el rango [-180, +180]. El código fuente aparece cerca de la parte inferior de la fuente de la página.
whuber

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.