org.openlr.locationreference.LocationReferencePoint Maven / Gradle / Ivy
package org.openlr.locationreference;
import org.locationtech.jts.geom.Coordinate;
import org.openlr.map.FormOfWay;
import org.openlr.map.FunctionalRoadClass;
import java.util.Optional;
/**
* A location reference point is a description of a line at a particular point. A sequence of location
* reference points are used to describe a location lying on the road network. When decoding, these points
* are map-matched to find the corresponding location on the map.
*/
public interface LocationReferencePoint {
/**
* @return the coordinate where the location reference point is found
*/
Coordinate getCoordinate();
/**
* @return the direction of the road at this point expressed as the degrees in a clockwise direction from due-north
*/
double getBearing();
/**
* @return the functional road class of the road at this point
*/
FunctionalRoadClass getFunctionalRoadClass();
/**
* @return the form of way of the road at this point
*/
FormOfWay getFormOfWay();
/**
* @return the attributes of the path to the next location reference point
*/
Optional getPathAttributes();
}