package sec.geo.shape;
import org.gavaghan.geodesy.GlobalPosition;
public class Point {
private final double longitudeDegrees;
private final double latitudeDegrees;
private final double altitudeMeters;
public Point(double longitudeDegrees, double latitudeDegrees) {
this(longitudeDegrees, latitudeDegrees, 0);
}
public Point(double longitudeDegrees, double latitudeDegrees, double altitudeMeters) {
this.longitudeDegrees = longitudeDegrees;
this.latitudeDegrees = latitudeDegrees;
this.altitudeMeters = altitudeMeters;
}
public double getLongitude() {
return longitudeDegrees;
}
public double getLatitude() {
return latitudeDegrees;
}
public double getAltitude() {
return altitudeMeters;
}
public GlobalPosition toGlobalPos() {
return new GlobalPosition(getLatitude(), getLongitude(), getAltitude());
}
@Override
public boolean equals(Object o) {
if (!(o instanceof Point)) {
return false;
}
Point other = (Point) o;
return (longitudeDegrees == other.longitudeDegrees) && (latitudeDegrees == other.latitudeDegrees)
&& (altitudeMeters == other.altitudeMeters);
}
@Override
public String toString() {
return "[" + longitudeDegrees + "," + latitudeDegrees + "," + altitudeMeters + "]";
}
}