将纬度/经度值(DMS+罗盘方向格式)转换为Android中相应的小数点值

发布于 2024-11-28 02:14:45 字数 256 浏览 2 评论 0原文

我正在开发一个 Java android 项目并遇到以下问题。我搜索了很多,但仍然存在将 DMS 格式的纬度/经度值(例如:38°2'56''N、122°9'28''W)转换为相应的十进制度格式的问题。

需要转换为其相应的十进制度格式的示例值。

北纬 38°49'59'',东经 26°56'59''

北纬 38 °2'56'',西经 122°9'28

'' 南纬 34°52'58'',56°10'58''谢谢

I am working on an Java android project and have the following issue. I Searched so much but still I have the problem of converting the Latitude/Longitude values that are in DMS format (Eg: 38°2'56''N, 122°9'28''W) for their corresponding Decimal Degrees format.

Example values that need to be converted for their corresponding decimal degrees format.

38°49'59''N, 26°56'59''E

38°2'56''N, 122°9'28''W

34°52'58''S, 56°10'58''W

Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

脸赞 2024-12-05 02:14:46

您可以随时在此处使用 Sherif 公式检查您的工作:
http://transition.fcc.gov/mb/audio/bickel/DDDMMSS -十进制.html

And you can always check your work with Sherif's formula here:
http://transition.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html

不爱素颜 2024-12-05 02:14:45

将 DMS 转换为十进制时,您所做的就是除以 60。将 S 除以 60,将其与 M 相加,将结果除以 60,然后将其与 D 相加。

第二部分处理坐标点的方向。想象一对轴,罗盘方向位于正确的位置(即,向上是 N,向右是 E,向下是 S,向左是 W)。这意味着与指向 S 或 W 的 DMS 值对应的任何十进制度值都将为负数。

北纬 38°2'56'',西经 122°9'28'' -> 38.048889, -122.157778

All you're doing when you convert DMS to decimal degrees is dividing by 60. Divide S by 60, add it to M, divide that result by 60, then add it to D.

The second part deals with the direction that the coordinates point. Picture a pair of axes with compass directions in their correct locations (i.e., up is N, right is E, down is S, left is W). This means that any decimal degree value corresponding to a DMS value that pointed either S or W is going to be negative.

38°2'56''N, 122°9'28''W -> 38.048889, -122.157778

神魇的王 2024-12-05 02:14:45

D°M'S''

  1. S 除以 60 得到 X
  2. 通过将 X 添加到 M 求出
  3. Y 将 Y 除以 60 得到 F
  4. 答案 = D + F

摘要

从 DMS 转换为 DEGREE

度数 = D + ( (S/60)+M)/60

其中 D、M 和 S 是构成 DMS 格式的值:D°M'S''

D°M'S''

  1. Divide S by 60 and get X
  2. Find Y by adding X to M
  3. Divide Y by 60 to get F
  4. Answer = D + F

SUMMARY

TO CONVERT FROM DMS TO DEGREE

Degrees = D + ((S/60)+M)/60

Where D and M and S are the values that compose the DMS format : D°M'S''

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文