DD를 DMS로 변환하는 도구를 찾고 계십니까?


9

온라인 도구 나 DD를 DMS로 변환하기 위해 다운로드 할 수있는 도구를 찾고 있습니다.

예를 들어 다음에서 변환하고 싶습니다.

41.590833, -93.620833 ~ 41 ° 35 ′ 27 ″ N, 93 ° 37 ′ 15 ″ W ... Geohack 에 따르면 Des Moines 의 좌표 입니다.


WGS84는 이미 위도 / 경도입니다.
underdark

DD에서 DMS로 변환하려고합니다. 이것을 묻는 다른 질문을 다시 제출할 수 있습니다.
artwork21

2
특정 GIS 솔루션을 사용 하시겠습니까? 그렇다면 해당 정보를 제공하면 커뮤니티에서 더 나은 답변을 얻을 수 있습니다.
artwork21

답변:


13

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 를 정수로 반올림하고 질문에 제공된 형식과 일치하도록 결과의 형식을 지정할 수 있습니다 .


이 답장을 개선하기 위해 익명의 downvoter를 초대합니다 ;-). (그가 할 담당자가 있다고 생각합니다.)
whuber

5

그렇게 복잡하지는 않지만 이 웹 페이지 만 사용하는 경향 있습니다. 그러나 당신의 모범에서 위도를 살펴 보자. 이 경우 41도 십진수도 같습니다. 이제 나머지를 취하고 60을 곱합니다. 그러면 35.44998이됩니다. 정수 부분은 초 (35 ')입니다. 이제 나머지를 취하고 다시 60을 곱하십시오. 초 (26.9998)를 얻습니다. 위의 결과와 긍정적으로 비교됩니다.


4

과학 모드의 Windows 계산기는 나를 위해 속임수를 사용합니다.

"dms"버튼은 십진수에서도, 분, 초로 이동합니다.

Inv + dms (현재는 deg로 표시됨)은 다른 방식으로 진행됩니다.



3

도움이 될 수 있습니다. 단지 시도. http://transition.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html


+1 좋은 발견. 이 애플릿에는 [-180, +180] 범위의 경도가 필요합니다. 소스 코드는 페이지 소스 하단 근처에 나타납니다.
whuber

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.