double LocationOfPoint::segmentFraction(const LineSegment& seg, const Coordinate& inputPt) { double segFrac; if (seg.p0.equals2D(seg.p1)) { segFrac = 0.0; } else { segFrac = seg.projectionFactor(inputPt); if (segFrac < 0.000001) { segFrac = 0.0; } else if (segFrac > 0.999999) { segFrac = 1.0; } } return segFrac; }