/// <summary> /// This simplifies a line by getting the radial distance tolerance and angle distance tolerance /// </summary> /// <param name="geometry">The geometry to simplify</param> /// <param name="distanceTolerance">The radial distance tolerance</param> /// <param name="angleTolerace">The angle tolerance in degrees</param> /// <returns>A simlified <see cref="LineString"/></returns> public static LineString Simplify(IGeometry geometry, double distanceTolerance, double angleTolerace) { var simplifier = new RadialDistanceByAngleSimplifier(geometry) { DistanceTolerance = distanceTolerance, AngleTolerance = angleTolerace }; return(simplifier.GetResultGeometry()); }
private List <LineString> SimplifyLines(IEnumerable <LineString> lineStings) { var lines = new List <LineString>(); foreach (var lineSting in lineStings) { var simpleLine = DouglasPeuckerSimplifier.Simplify(lineSting, _options.SimplificationDistanceTolerance) as LineString; if (simpleLine == null) { continue; } simpleLine = RadialDistanceByAngleSimplifier.Simplify(simpleLine, _options.MinimalMissingSelfLoopPartLegth, _options.RadialSimplificationAngle); if (simpleLine == null) { continue; } lines.Add(simpleLine); } return(lines); }