Example #1
0
            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);
                }
            }
Example #2
0
 public void Filter(Coordinate pt)
 {
     _minPtDist.Initialize();
     DistanceToPoint.ComputeDistance(_geom, pt, _minPtDist);
     _maxPtDist.SetMaximum(_minPtDist);
 }