온라인 도구 나 DD를 DMS로 변환하기 위해 다운로드 할 수있는 도구를 찾고 있습니다.
예를 들어 다음에서 변환하고 싶습니다.
41.590833, -93.620833 ~ 41 ° 35 ′ 27 ″ N, 93 ° 37 ′ 15 ″ W ... Geohack 에 따르면 Des Moines 의 좌표 입니다.
온라인 도구 나 DD를 DMS로 변환하기 위해 다운로드 할 수있는 도구를 찾고 있습니다.
예를 들어 다음에서 변환하고 싶습니다.
41.590833, -93.620833 ~ 41 ° 35 ′ 27 ″ N, 93 ° 37 ′ 15 ″ W ... Geohack 에 따르면 Des Moines 의 좌표 입니다.
답변:
Microsoft 코드 도 버그가 있기 때문에 변환에 올바른 의사 코드를 제공하는 것이 유용 할 수 있습니다.
10 진수도 x 를도 ( d ), 분 ( m ) 및 (10 진수) 초 ( s )로 변환하려면 다음을 수행하십시오.
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)
서명 된 학위를 반환하는 대신 끝에 N / S 또는 E / W를 표시 할 수 있습니다.
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)
원하는 경우 s 를 정수로 반올림하고 질문에 제공된 형식과 일치하도록 결과의 형식을 지정할 수 있습니다 .
이 파이썬 라이브러리를보십시오 https://github.com/ewheeler/PyDecimalDegrees
또는 Perl을 기반으로하는이 온라인 / 오프라인 스크립트 http://www.movable-type.co.uk/scripts/latlong.html
도움이 될 수 있습니다. 단지 시도. http://transition.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html