如何在Java JTS中找到给定线段(我的源代码行上方和下方的平行线)的平行线?

时间:2017-09-20 10:36:49

标签: java geometry jts

如何在Java JTS( JTS拓扑套件)中找到给定线段(包括源线上方和下方的平行线)的平行线? 输入:我的源行有点(长和拉) 坐标1(长,纬)----------------------------坐标2(长,纬)

坐标[]坐标=新坐标(新坐标(长,纬),新坐标(长,纬));

来源行 - >

LineSegment sourceLine =new GeometryFactory().createLineString(coordinate);

现在我必须在源线上方和下方找到一条平行线。

2 个答案:

答案 0 :(得分:1)

pointAlongOffset(double segmentLengthFraction, double offsetDistance)上有LineSegment方法用于此目的。例如:

// source line from given start and end coordinate
LineSegment sourceLine = new LineSegment(startCoordinate, endCoordinate);

// left from start- to end-point (note negative offset distance!)
Coordinate startLeft = sourceLine.pointAlongOffset(0, -parallelDistance);
Coordinate endLeft = sourceLine.pointAlongOffset(1, -parallelDistance);
LineString leftLine = new GeometryFactory().createLineString(new Coordinate[]{startLeft, endLeft});
// right from start- to end-point (note positive offset distance!)
Coordinate startRight = sourceLine.pointAlongOffset(0, parallelDistance);
Coordinate endRight = sourceLine.pointAlongOffset(1, parallelDistance);
LineString rightLine = new GeometryFactory().createLineString(new Coordinate[]{startRight, endRight});

答案 1 :(得分:0)

在起点上计算方位B0
将轴承旋转90度B01=B0+90并使轴承P01在所需距离处获得点B1 对终点做同样的事情(注意轴承略有不同),得到点P11PO1-P11是第一行

-90所承受的方位做同样的事情,建立第二行

Here are formulas获取方位并指定距离和方位