indexOfFromStart method

double indexOfFromStart(
  1. Coordinate inputPt,
  2. double minIndex
)

Implementation

double indexOfFromStart(Coordinate inputPt, double minIndex) {
  double minDistance = double.maxFinite;

  double ptMeasure = minIndex;
  double segmentStartMeasure = 0.0;
  LineSegment seg = new LineSegment.empty();
  LinearIterator it = new LinearIterator(linearGeom);
  while (it.hasNext()) {
    if (!it.isEndOfLine()) {
      seg.p0 = it.getSegmentStart();
      seg.p1 = it.getSegmentEnd()!;
      double segDistance = seg.distanceCoord(inputPt);
      double segMeasureToPt =
          segmentNearestMeasure(seg, inputPt, segmentStartMeasure);
      if (segDistance < minDistance && segMeasureToPt > minIndex) {
        ptMeasure = segMeasureToPt;
        minDistance = segDistance;
      }
      segmentStartMeasure += seg.getLength();
    }
    it.next();
  }
  return ptMeasure;
}