Class Handed

  • All Implemented Interfaces:
    Serializable, Comparable<Handed>, ControlledVocabulary

    @Draft
    @UML(identifier="GM_Handed",
         specification=ISO_19107)
    public class Handed
    extends CodeList<Handed>
    Labels coordinate systems as being right or left handed as commonly defined in Mathematics. This really only has meaning if the coordinate system is spatial. This is needed since most mathematical algorithms need to know or potentially modify the handedness of a coordinate system to maintain the proper representation of space.
    Note: The default for mathematics is right-handed systems (classic x-y, or x-y-z order in Cartesian coordinates), while many geographic coordinate reference systems are left-handed. This mathematical choice is seen in several decisions; such as the inside of a surface is to the left of its boundary, the inside of a solid is below its boundary, and the very concepts of oriented primitives and algebraic topology. This bias toward right-handed systems is also seen in computer graphics and in engineering.
    Since:
    3.1
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class CodeList

        CodeList.Filter
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static Handed LEFT
      The left-handed systems (y-x-z), for example Latitude/Longitude.
      static Handed RIGHT
      The right-handed systems (classic x-y-z).
    • Field Detail

      • RIGHT

        @Draft
        @UML(identifier="right",
             obligation=CONDITIONAL,
             specification=ISO_19107)
        public static final Handed RIGHT
        The right-handed systems (classic x-y-z).
      • LEFT

        @Draft
        @UML(identifier="left",
             obligation=CONDITIONAL,
             specification=ISO_19107)
        public static final Handed LEFT
        The left-handed systems (y-x-z), for example Latitude/Longitude.
    • Method Detail

      • values

        public static Handed[] values()
        Returns the list of Handeds.
        Returns:
        the list of codes declared in the current JVM.
      • family

        public Handed[] family()
        Returns the list of codes of the same kind than this code list element. Invoking this method is equivalent to invoking values(), except that this method can be invoked on an instance of the parent CodeList class.
        Specified by:
        family in interface ControlledVocabulary
        Specified by:
        family in class CodeList<Handed>
        Returns:
        all code values for this code list.
      • valueOf

        public static Handed valueOf​(String code)
        Returns the Handed orientation form that matches the given string, or returns a new one if none match it. More specifically, this methods returns the first instance for which name().equals(code) returns true. If no existing instance is found, then a new one is created for the given name.
        Parameters:
        code - the name of the code to fetch or to create.
        Returns:
        a code matching the given name.