package org.droidplanner.services.android.impl.core.helpers.geoTools;
import com.o3dr.services.android.lib.coordinate.LatLong;
public class LineLatLong {
private final LatLong start;
private final LatLong end;
public LineLatLong(LatLong start, LatLong end) {
this.start = start;
this.end = end;
}
public LineLatLong(LineLatLong line) {
this(line.start, line.end);
}
public LatLong getStart() {
return start;
}
public LatLong getEnd() {
return end;
}
public double getHeading() {
return GeoTools.getHeadingFromCoordinates(this.start, this.end);
}
public LatLong getFarthestEndpointTo(LatLong point) {
if (getClosestEndpointTo(point).equals(start)) {
return end;
} else {
return start;
}
}
public LatLong getClosestEndpointTo(LatLong point) {
if (getDistanceToStart(point) < getDistanceToEnd(point)) {
return start;
} else {
return end;
}
}
private Double getDistanceToEnd(LatLong point) {
return GeoTools.getAproximatedDistance(end, point);
}
private Double getDistanceToStart(LatLong point) {
return GeoTools.getAproximatedDistance(start, point);
}
@Override
public String toString() {
return "from:" + start.toString() + "to:" + end.toString();
}
}