public void Filter(ICoordinateSequence seq, int index) { /** * This logic also handles skipping Point geometries */ if (index == 0) { return; } var p0 = seq.GetCoordinate(index - 1); var p1 = seq.GetCoordinate(index); var delx = (p1.X - p0.X) / _numSubSegs; var dely = (p1.Y - p0.Y) / _numSubSegs; for (var i = 0; i < _numSubSegs; i++) { var x = p0.X + i * delx; var y = p0.Y + i * dely; var pt = new Coordinate(x, y); _minPtDist.Initialize(); DistanceToPoint.ComputeDistance(_geom, pt, _minPtDist); _maxPtDist.SetMaximum(_minPtDist); } }
public void Filter(Coordinate pt) { _minPtDist.Initialize(); DistanceToPoint.ComputeDistance(_geom, pt, _minPtDist); _maxPtDist.SetMaximum(_minPtDist); }