如何找到具有给定lat long值和距离的lat长点

时间:2011-03-03 18:27:22

标签: java geocoding

我有一个点A(52.132781727864,-106,63492619991302)。从A点开始,我希望得到距离A点5公里处的B点的长点。

如何获得B点的长度?我是用Java编写的。

编辑:如果该点位于东南部,我该怎么办?

5 个答案:

答案 0 :(得分:4)

角度为5km =((5 /(6371 * pi))* 180)= 0.0449660803。应从纬度中减去此数字。经度保持不变。

PS。感谢Carlos Heuberger的纠正。

答案 1 :(得分:1)

答案 2 :(得分:1)

我强烈建议将GeoTools用于地球表面几何,因为它将地球中的因子视为椭圆体(地球不是完美的球体)。特别要看GeodeticCalculator,你可以在其中设置起始位置和方向(方位角和距离),然后获得目的地位置。

答案 3 :(得分:1)

将问题扩展为“我如何找到具有给定纬度长值,距离和方向”的长点,这里是较短距离(小于约1000公里)的近似值< / p>

d = dist / 111.12      (1)
dlat = d * cos(dir)
latm = lat1 + dlat / 2
dlon = d * sin(dir) / cos(latm)

lat2 = lat1 + dlat
lon2 = lon1 + dlon

其中:
- lat1lon1 - 起始坐标(北和东都是正数) - dist - 以公里为单位的距离
- dir - 起始方向(2)
- lat2lon2 - 生成的坐标

(1)假设球形地球模型
(2)东南 dir = 135°


基于Astrosail - Mittelbreitenverfahren

答案 4 :(得分:0)

我在一段时间内遇到了同样的问题。因为在我的情况下,原始数据是UTM,产品只需要在给定区域工作,并且添加的距离不是很大,我所要做的就是计算窦和余弦并将东向和向北添加到初始Poing的