【发布时间】:2009-05-08 01:38:08
【问题描述】:
复制:
- Working with latitude/longitude values in Java
- How do I calculate distance between two latitude longitude points?
我需要计算两个坐标给出的两点之间的距离。我正在做的项目是Java项目,所以Java代码会很棒,但也可以给出伪代码,然后我可以自己实现:)
你可能知道,坐标有三种表示方式:
- 度:分:秒(49°30'00"N,123°30'00"W)
- 度:十进制分(49°30.0',-123°30.0'),(49d30.0m,-123d30.0')
- 十进制度数(49.5000°,-123.5000°),通常有 4-6 个十进制数字。
这是我的坐标给出的第三种方式,所以这个值的代码将是首选:)
【问题讨论】:
-
看看jan.ucc.nau.edu/~cvm/latlongdist.html">this纬度/经度距离计算器。它有一个指向相关源代码的链接(包括一个解释)和一个指向背后数学的链接计算。其实很有趣。
-
This site 向您展示了我认为您遇到问题的部分公式?您可能需要指定是否需要从 A 点到 B 点(通过地球)的直线,或者是否需要站点上显示的距离。对不起,我不记得他们的名字了。不过,代码看起来比较简单。
-
我成功地使用了这个站点的代码:* Longditude and latitude calculation 我必须对答案进行一些计算才能使其成为欧洲米,但这很简单:)
-
查看 Vicenty 公式 -- movable-type.co.uk/scripts/latlong-vincenty.html -- 如果你关心地球不是一个球体
标签: java distance latitude-longitude