Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,52 @@ public class Position {
private final double latitude;
private final double altitude;

/*
* Private constructor
/**
* Private Constructor
*
* @param longitude double value with position's longitude.
* @param latitude double value with position's latitude.
* @param altitude double value with position's altitude.
*/

private Position(double longitude, double latitude, double altitude) {
this.longitude = longitude;
this.latitude = latitude;
this.altitude = altitude;
}

/*
* Getters
/**
* Gets the position's longitude.
*
* @return double value with positions longitude.
*/

public double getLongitude() {
return longitude;
}

/**
* Gets the position's latitude.
*
* @return double value with positions latitude.
*/
public double getLatitude() {
return latitude;
}

/**
* Gets the position's altitude.
*
* @return double value with positions altitude.
*/
public double getAltitude() {
return altitude;
}

/**
* Gets the position coordinates in a double array. Altitude will be included in the array
* if a value is present.
*
* @return double[] array with longitude, latitude, and altitude (if present).
*/
public double[] getCoordinates() {
if (hasAltitude()) {
return new double[]{getLongitude(), getLatitude(), getAltitude()};
Expand All @@ -43,22 +63,32 @@ public double[] getCoordinates() {
}
}

/*
* Factories
/**
* Builds a {@link Position} from a double longitude, latitude and an altitude.
*
* @param longitude double longitude value.
* @param latitude double latitude value.
* @param altitude double altitude value.
*/

public static Position fromCoordinates(double longitude, double latitude, double altitude) {
return new Position(longitude, latitude, altitude);
}

/**
* Builds a {@link Position} from a double longitude and latitude.
*
* @param longitude double longitude value.
* @param latitude double latitude value.
*/
public static Position fromCoordinates(double longitude, double latitude) {
return new Position(longitude, latitude, Double.NaN);
}

/*
* Altitude related
/**
* Checks if a position has an altitude value.
*
* @return true if position contains altitude data.
*/

public boolean hasAltitude() {
return !Double.isNaN(altitude);
}
Expand Down