使用NetTopologySuite计算事件偏移量?

时间:2018-11-14 17:27:46

标签: nettopologysuite

NetTopologySuite是否具有必要的工具来计算沿垂直方向上的多义线偏移和远离该点的给定距离的点?

这是为了在地图上放置沿距离中心线50英尺,沿着242号路线有3.1英里的标志。我发现了NetTopologySuite.Geometries.Triangle.PerpendicularBisector,但对我来说意义不大(似乎返回垂直线的公式)。

2 个答案:

答案 0 :(得分:1)

是的,可能有几种方法。一种方法是从中心线使用缓冲区(查看NetTopologySuite.Operation.Buffer.BufferOp.Buffer),然后沿缓冲的几何图形(NetTopologySuite.Operation.Distance.DistanceOp)找到一个“ x”距离距离)

答案 1 :(得分:1)

要获得线性几何的单点偏移,应使用LocationIndexedLine

var gf = new NetTopologySuite.Geometries.GeometryFactory();
var l = gf.CreateLineString(new GeoAPI.Geometries.Coordinate[]
{
    new GeoAPI.Geometries.Coordinate(10, 10),
    new GeoAPI.Geometries.Coordinate(1000, 10),
});

var lid = new NetTopologySuite.LinearReferencing.LocationIndexedLine(l);
var p = lid.ExtractPoint(500, 10);

p位于(510,20)