【问题标题】:Latitude / Longitude Metadata. GPS Coordinates - Degrees, minutes, seconds纬度/经度元数据。 GPS 坐标 - 度、分、秒
【发布时间】:2012-08-13 15:33:54
【问题描述】:

我有一个打印图片经度和纬度的程序。程序将它们都打印成以下格式:度、分、秒。

由于我想为 GoogleEarth 生成 KML 文件,而 GoogleEarth 只支持十进制度,我需要想一种转换坐标的方法。

每次我做数学论文时,我都会得到一个不正确的答案。有人可以指出我哪里出错了。

我有坐标 -

+51° 26' 13.57", -2° 34' 38.55"

有人告诉我要这样计算。加 51 加 26/60 加 13.57/3600。

正确答案应该是——

51.437103,-2.577375

我的下一个问题是将字符串分解为不同的段,因为我使用的元数据库将坐标打印为一个单独的字符串。

【问题讨论】:

  • 你打算用哪种编程语言来实现这个?另外,这些输入坐标从何而来? (文本文件、网页、用户输入)?
  • Java。在开始编码之前,我正在尝试制定算法。坐标来自图像。
  • 您可能想使用正则表达式或某种sscanf 函数(如果在Java 中可用,我不知道)。

标签: gps metadata latitude-longitude


【解决方案1】:

你学到的方法很好,如果你在谷歌上查询 (51+26/60+13.57/3600) 你会得到 (51.4371028),同样的 -(2+34/60+38.55/3600),你得到(-2.577375)。在某些编程语言中,您必须小心 /,它在给定整数参数时会截断运算结果(在这种情况下,您希望将除数或被除数转换为浮点数)。

断开字符串的部分在很大程度上取决于您正在使用/使用哪种语言。

【讨论】:

  • 啊,问题似乎是你做操作的顺序,你应该做(51)+(26/60)+(13.57/3600),而不是你做(((51+26)/60)+13.57)/3600)
  • 啊哈。以为跟那个有关系。谢谢 Lccarrasco
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-30
  • 1970-01-01
  • 1970-01-01
  • 2013-01-11
  • 2016-08-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多