【发布时间】:2020-06-21 12:47:10
【问题描述】:
我有一条在地球上具有起点和终点坐标的线。
我试图在起点 length 距离的每一侧放置垂直点。
本来以为可以
- 获取直线的斜率
- 确定起点处垂线的斜率
- 求解 x 和 y
Coordinate p1 = Ppoint(start, end, length);
Coordinate p2 = Ppoint(start, end, -(length));
public static Coordinate Ppoint(Coordinate start, Coordinate end, double length){
double slope = getSlope(start, end);
double pSlope;
if(slope != 0)
{
pSlope = -(1/slope);
}
else
{
pSlope = 0;
}
double b = start.y + (-(pSlope * start.x));
double x = (start.x + length);
double y = (pSlope * x) + b;
Return new Coordinate(x,y);
}
我认为在纬度/经度上进行数学计算并考虑它们的范围存在问题
这并不能说明地球不是平坦的。
有没有更好的方法来解决这个问题?
【问题讨论】:
-
线和长度是多少?
-
@IanTurton 该行是任意长度的。长度只是一个选择的设定值(正在玩 .005)
标签: java coordinates latitude-longitude geo geotools