NetTopologySuite 是否具有必要的工具来计算沿和远离折线在垂直方向偏移的给定距离的点?
这将用于在距离中心线 50 英尺的路线 242 沿线 3.1 英里的地图上放置标志。我发现了 NetTopologySuite.Geometries.Triangle.PerpendicularBisector,但这对我来说没有多大意义(似乎返回了垂直线的公式)。
NetTopologySuite 是否具有必要的工具来计算沿和远离折线在垂直方向偏移的给定距离的点?
这将用于在距离中心线 50 英尺的路线 242 沿线 3.1 英里的地图上放置标志。我发现了 NetTopologySuite.Geometries.Triangle.PerpendicularBisector,但这对我来说没有多大意义(似乎返回了垂直线的公式)。
是的,可能有几种方法。一种方法是使用中心线的缓冲区(查看 NetTopologySuite.Operation.Buffer.BufferOp.Buffer),然后沿着缓冲几何体找到一个点“x”距离(NetTopologySuite.Operation.Distance.DistanceOp 。距离)
要从直线几何图形中获得单点偏移,您应该使用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)