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