Class CoordSys
A coordinate system is composed of three parts: a frame (frame
),
a reference position (refpos
) and a flavor (flavor
).
The default value - also corresponding to an empty string - should be:
CoordSys.Frame.UNKNOWNFRAME
CoordSys.RefPos.UNKNOWNREFPOS
CoordSys.Flavor.SPHERICAL2
.
Once built, it is possible to know whether the coordinate system is the
default one or not thanks to function isDefault()
.
An instance of this class can be easily serialized into STC-S using
toSTCS()
, toFullSTCS()
or toString()
.
toFullSTCS()
will display default values explicitly on the contrary
to toSTCS()
which will replace them by empty strings.
Important note:
The flavors CARTESIAN2 and CARTESIAN3 can not be used with other frame and
reference position than UNKNOWNFRAME and UNKNOWNREFPOS. In the contrary case
an IllegalArgumentException
is throw.
- Since:
- 1.3
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
List of all possible flavors in an STC expression.static enum
List of all possible frames in an STC expression.static enum
List of all possible reference positions in an STC expression. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Human description of the syntax of a full coordinate system expression.final CoordSys.Flavor
Third and last item of a coordinate system expression: the flavor.final CoordSys.Frame
First item of a coordinate system expression: the frame.final CoordSys.RefPos
Second item of a coordinate system expression: the reference position. -
Constructor Summary
ConstructorsConstructorDescriptionCoordSys()
Build a default coordinate system (UNKNOWNFRAME UNKNOWNREFPOS SPHERICAL2).CoordSys
(CoordSys.Frame fr, CoordSys.RefPos rp, CoordSys.Flavor fl) Build a coordinate system with the given parts.Build a coordinate system by parsing the given STC-S expression. -
Method Summary
Modifier and TypeMethodDescriptionstatic String
buildCoordSysRegExp
(String[] allowedCoordSys) Build a big regular expression gathering all of the given coordinate system syntaxes.final boolean
Tell whether this is the default coordinate system (UNKNOWNFRAME UNKNOWNREFPOS SPHERICAL2).Get the STC-S expression of this coordinate system, in which default values are explicitly written.toSTCS()
Get the STC-S expression of this coordinate system, in which default values are not written (they are replaced by empty strings).toString()
Convert this coordinate system into a STC-S expression.
-
Field Details
-
COORD_SYS_SYNTAX
Human description of the syntax of a full coordinate system expression. -
frame
First item of a coordinate system expression: the frame. -
refpos
Second item of a coordinate system expression: the reference position. -
flavor
Third and last item of a coordinate system expression: the flavor.
-
-
Constructor Details
-
CoordSys
public CoordSys()Build a default coordinate system (UNKNOWNFRAME UNKNOWNREFPOS SPHERICAL2). -
CoordSys
public CoordSys(CoordSys.Frame fr, CoordSys.RefPos rp, CoordSys.Flavor fl) throws IllegalArgumentException Build a coordinate system with the given parts.- Parameters:
fr
- Frame part.rp
- Reference position part.fl
- Flavor part.- Throws:
IllegalArgumentException
- If a cartesian flavor is used with a frame and reference position other than UNKNOWNFRAME and UNKNOWNREFPOS.
-
CoordSys
Build a coordinate system by parsing the given STC-S expression.- Parameters:
coordsys
- STC-S expression representing a coordinate system. Empty string and NULL are allowed values ; they correspond to a default coordinate system.- Throws:
ParseException
- If the syntax of the given STC-S expression is wrong or if it is not a coordinate system only.
-
-
Method Details
-
buildCoordSysRegExp
Build a big regular expression gathering all of the given coordinate system syntaxes.Each item of the given list must respect a strict syntax. Each part of the coordinate system may be a single value, a list of values or a '*' (meaning all values are allowed). A list of values must have the following syntax:
({value1}|{value2}|...)
. An empty string is NOT here accepted.Example:
(ICRS|FK4|FK5) * SPHERICAL2
is OK, but(ICRS|FK4|FK5) *
is not valid because the flavor value is not defined.Since the default value of each part of a coordinate system should always be possible, this function ensure these default values are always possible in the returned regular expression. Thus, if some values except the default one are specified, the default value is automatically appended.
Note: If the given array is NULL, all coordinate systems are allowed. But if the given array is empty, none except an empty string or the default value will be allowed.
- Parameters:
allowedCoordSys
- List of all coordinate systems that are allowed.- Returns:
- The corresponding regular expression.
- Throws:
ParseException
- If the syntax of one of the given allowed coordinate system is wrong.
-
isDefault
public final boolean isDefault()Tell whether this is the default coordinate system (UNKNOWNFRAME UNKNOWNREFPOS SPHERICAL2).- Returns:
true
if it is the default coordinate system,false
otherwise.
-
toSTCS
Get the STC-S expression of this coordinate system, in which default values are not written (they are replaced by empty strings).- Returns:
- STC-S representation of this coordinate system.
-
toFullSTCS
Get the STC-S expression of this coordinate system, in which default values are explicitly written.- Returns:
- STC-S representation of this coordinate system.
-
toString
Convert this coordinate system into a STC-S expression.
-