Tìm kiếm công cụ để chuyển đổi DD sang DMS?


9

Tôi đang tìm kiếm một công cụ trực tuyến hoặc một công cụ mà tôi có thể tải xuống để chuyển đổi DD sang DMS.

Ví dụ: tôi muốn chuyển đổi từ:

41.590833, -93.620833 đến 41 ° 35 27 N, 93 ° 37 15 ″ W ... Đó là các tọa độ, theo Geohack , cho Des Moines.


WGS84 đã có trong lat / long.
underdark

bạn muốn chuyển đổi từ DD sang DMS. Bạn có thể gửi lại một câu hỏi khác yêu cầu này.
nghệ thuật21

2
bạn sẽ sử dụng một giải pháp GIS nào đó chứ? Nếu vậy, bằng cách cung cấp thông tin đó có thể cung cấp cho bạn câu trả lời tốt hơn từ cộng đồng.
nghệ thuật21

Câu trả lời:


13

Bởi vì ngay cả mã Microsoft là lỗi, có thể hữu ích để cung cấp mã giả chính xác cho chuyển đổi.

Để chuyển đổi độ thập phân x sang độ ( d ), phút ( m ) và (thập phân) giây ( s ), hãy làm như sau:

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)

Thay vì trả lại một mức độ đã ký, bạn có thể chỉ ra N / S hoặc E / W ở cuối:

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)

Nếu bạn thích, bạn có thể làm tròn s thành một số nguyên và định dạng kết quả để khớp với biểu mẫu được đưa ra trong câu hỏi.


Tôi mời người tải xuống ẩn danh để cải thiện câu trả lời này ;-). (Tôi tin rằng anh ấy có đại diện để làm điều đó.)
whuber

5

Nó không quá phức tạp để làm, nhưng tôi có xu hướng chỉ sử dụng trang web này . Nhưng hãy làm việc thông qua vĩ độ trong ví dụ của bạn. Độ thập phân là như nhau, trong trường hợp này là 41. Bây giờ, lấy phần còn lại và nhân với 60. Điều này mang lại cho bạn 35,44998. Phần nguyên là giây (35 '). Bây giờ, lấy phần còn lại và nhân với 60 lần nữa. Bạn nhận được giây (26.9998), so sánh tích cực với những phát hiện của bạn ở trên.


4

Máy tính Windows ở chế độ Khoa học thực hiện thủ thuật cho tôi.

Nút "dms" đưa bạn từ độ thập phân đến Độ, Phút, Giây.

Inv + dms (hiện được hiển thị là deg) đi theo một cách khác.



3

Nó có thể giúp bạn. Cứ thử đi. http://transition.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html


+1 Tìm thấy tốt đẹp. Tôi nhận thấy applet này yêu cầu kinh độ trong phạm vi [-180, +180]. Mã nguồn xuất hiện gần cuối nguồn của trang.
whuber

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.