Procurando uma ferramenta para converter DD em DMS?

9

Estou procurando uma ferramenta on-line ou uma que possa ser baixada para converter DD em DMS.

Por exemplo, quero converter de:

41.590833, -93.620833 a 41 ° 35 ′ 27 ″ N, 93 ° 37 ′ 15 ″ W ... Essas são as coordenadas, de acordo com um Geohack , para Des Moines.

Shaun Rollins
fonte
O WGS84 já está em lat / long.
Underdark
você deseja converter de DD para DMS. Você pode reenviar outra pergunta fazendo isso.
usar o seguinte texto
2
você usará uma certa solução GIS? Nesse caso, fornecer essas informações pode fornecer melhores respostas da comunidade.
usar o seguinte texto

Respostas:

13

Como até o código da Microsoft é defeituoso, pode ser útil fornecer um pseudocódigo correto para a conversão.

Para converter graus decimais x em graus ( d ), minutos ( m ) e (decimal) segundos ( s ), faça o seguinte:

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)

Em vez de retornar um diploma assinado, você pode indicar N / S ou E / W no 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)

Se desejar, você pode arredondar s para um número inteiro e formatar os resultados para que correspondam ao formulário fornecido na pergunta.

whuber
fonte
Convido o downvoter anônimo a melhorar esta resposta ;-). (Eu acredito que ele tem o representante para fazê-lo.)
whuber
5

Não é muito complicado, mas costumo usar esta página da web . Mas vamos trabalhar com a latitude no seu exemplo. Os graus decimais são os mesmos, neste caso 41. Agora, pegue o restante e multiplique por 60. Isso fornece 35,44998. A parte inteira é os segundos (35 '). Agora, pegue o restante e multiplique por 60 novamente. Você recebe os segundos (26.9998), o que se compara positivamente com as descobertas acima.

Jose
fonte
4

A Calculadora do Windows no modo Científico faz o truque para mim.

O botão "dms" leva você de graus decimais a graus, minutos, segundos.

Inv + dms (agora mostrado como deg) vai para o outro lado.

Raven
fonte
3

Isso pode ajudá-lo. Apenas tente. http://transition.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html

user3063
fonte
+1 Boa descoberta. Percebo que este applet requer longitudes no intervalo [-180, +180]. O código fonte aparece próximo à parte inferior da fonte da página.
whuber