我有一个点A(52.132781727864,-106,63492619991302)。从A点开始,我希望得到距离A点5公里处的B点的长点。
如何获得B点的长度?我是用Java编写的。
编辑:如果该点位于东南部,我该怎么办?
答案 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
其中:
- lat1
和lon1
- 起始坐标(北和东都是正数)
- dist
- 以公里为单位的距离
- dir
- 起始方向(2)
- lat2
和lon2
- 生成的坐标
(1)假设球形地球模型
(2)东南 dir = 135°
答案 4 :(得分:0)
我在一段时间内遇到了同样的问题。因为在我的情况下,原始数据是UTM,产品只需要在给定区域工作,并且添加的距离不是很大,我所要做的就是计算窦和余弦并将东向和向北添加到初始Poing的