protected override bool IndexOfAfterCheck(Geometry linearGeom, Coordinate testPt) { var indexedLine = new LengthIndexedLine(linearGeom); // check locations are consecutive double loc1 = indexedLine.IndexOf(testPt); double loc2 = indexedLine.IndexOfAfter(testPt, loc1); if (loc2 <= loc1) { return(false); } // check extracted points are the same as the input var pt1 = indexedLine.ExtractPoint(loc1); var pt2 = indexedLine.ExtractPoint(loc2); if (!pt1.Equals2D(testPt)) { return(false); } if (!pt2.Equals2D(testPt)) { return(false); } return(true); }