Package skyview.data
Class CoordinateFormatter
- java.lang.Object
-
- skyview.data.CoordinateFormatter
-
public class CoordinateFormatter extends Object
This class provides methods to encode coordinates to a variety of precisions in both sexagesimal and decimal representations.
-
-
Constructor Summary
Constructors Constructor Description CoordinateFormatter()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description String
decimal(double value, int precision)
Format a number with a specified precision.String
format(double value, int precision)
Render a value using the current rules.static void
main(String[] args)
void
setSeparators(String[] separators)
Specify the two separators to be used between the three numbers in sexagesimal output.void
setSexagesimal(boolean flag)
void
setZeroFill(boolean flag)
String
sexagesimal(double value, int precision)
Create a sexagesimal string representing the coordinate value.
-
-
-
Method Detail
-
sexagesimal
public String sexagesimal(double value, int precision)
Create a sexagesimal string representing the coordinate value.- Parameters:
value
- A double precision value which is to be converted to a string representation. The user should convert to hours prior to this call if the string is to be in hours.precision
- A integer value giving the precision to which the value is to be shown.- Less than 3
- Degrees (or hours), e.g. 24
- 3
- Deg.f e.g., 24.3
- 4
- Deg mm e.g., 24 18
- 5
- Deg mm.f e.g., 25 18.3
- 6
- Deg mm ss e.g., 25 18 18
- 7
- Deg mm ss.s e.g., 25 18 18.2
- 8
- Deg mm ss.ss e.g., 25 18 18.24
- Greater than 8
- Deg mm ss.sss e.g., 25 18 18.238
-
decimal
public String decimal(double value, int precision)
Format a number with a specified precision. The precision is 2 more than the number of decimal places. E.g., to get 4 decimal places use a precision of 6.
-
setZeroFill
public void setZeroFill(boolean flag)
-
setSexagesimal
public void setSexagesimal(boolean flag)
-
setSeparators
public void setSeparators(String[] separators)
Specify the two separators to be used between the three numbers in sexagesimal output. The default is blank separators. E.g., to get output of the form 10:20:30 then this.setSeparators(new String[]{":", ":"}); before rendering.- Parameters:
separators
-
-
format
public String format(double value, int precision)
Render a value using the current rules. Note that any scaling between hours/degrees should be done before rendering.
-
main
public static void main(String[] args)
-
-