locateOnLineString method

int locateOnLineString(
  1. Coordinate p,
  2. LineString l
)

Implementation

int locateOnLineString(Coordinate p, LineString l) {
  // bounding-box check
  if (!l.getEnvelopeInternal().intersectsCoordinate(p))
    return Location.EXTERIOR;

  CoordinateSequence seq = l.getCoordinateSequence();
  if (!l.isClosed()) {
    if (p.equals(seq.getCoordinate(0)) ||
        p.equals(seq.getCoordinate(seq.size() - 1))) {
      return Location.BOUNDARY;
    }
  }
  if (PointLocation.isOnLine(p, seq)) {
    return Location.INTERIOR;
  }
  return Location.EXTERIOR;
}