Class CoordinateFormat

  • All Implemented Interfaces:
    Serializable, Cloneable

    public class CoordinateFormat
    extends Format
    Formats a direct position in an arbitrary coordinate reference system. The format for each ordinate is infered from the coordinate system units using the following rules:
    • Ordinate values in degrees are formated as angles using AngleFormat.
    • Ordinate values in any unit compatible with seconds are formated as dates using DateFormat.
    • All other values are formatted as numbers using NumberFormat.
    Note: parsing is not yet implemented in this version.
    Since:
    2.0
    Author:
    Martin Desruisseaux (PMO, IRD)
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class Format

        Format.Field
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      StringBuffer format​(Object object, StringBuffer toAppendTo, FieldPosition position)
      Formats a direct position and appends the resulting text to a given string buffer.
      String format​(Position point)
      Formats a direct position.
      StringBuffer format​(Position point, StringBuffer toAppendTo, FieldPosition position)
      Formats a direct position and appends the resulting text to a given string buffer.
      CoordinateReferenceSystem getCoordinateReferenceSystem()
      Returns the coordinate reference system for points to be formatted.
      Format getFormat​(int dimension)
      Returns the format to use for formatting an ordinate at the given dimension.
      String getSeparator()
      Returns the separator between each coordinate (number, angle or date).
      Position parseObject​(String source, ParsePosition position)
      Not yet implemented.
      void setAnglePattern​(String pattern)
      Set the pattern for angles fields.
      void setCoordinateReferenceSystem​(CoordinateReferenceSystem crs)
      Set the coordinate reference system for points to be formatted.
      void setDatePattern​(String pattern)
      Set the pattern for dates fields.
      void setNumberPattern​(String pattern)
      Set the pattern for numbers fields.
      void setSeparator​(String separator)
      Set the separator between each coordinate.
      void setTimeZone​(TimeZone timezone)
      Set the time zone for dates fields.
      • Methods inherited from class Format

        clone, format, formatToCharacterIterator, parseObject
      • Methods inherited from class Object

        equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CoordinateFormat

        public CoordinateFormat()
        Constructs a new coordinate format with default locale and a two-dimensional geographic (WGS 1984) coordinate reference system.
      • CoordinateFormat

        public CoordinateFormat​(Locale locale)
        Construct a new coordinate format for the specified locale and a two-dimensional geographic (WGS 1984) coordinate reference system.
        Parameters:
        locale - The locale for formatting coordinates and numbers.
      • CoordinateFormat

        public CoordinateFormat​(Locale locale,
                                CoordinateReferenceSystem crs)
        Constructs a new coordinate format for the specified locale and coordinate reference system.
        Parameters:
        locale - The locale for formatting coordinates and numbers.
        crs - The output coordinate reference system.
    • Method Detail

      • getCoordinateReferenceSystem

        public CoordinateReferenceSystem getCoordinateReferenceSystem()
        Returns the coordinate reference system for points to be formatted.
        Returns:
        The output coordinate reference system.
      • setCoordinateReferenceSystem

        public void setCoordinateReferenceSystem​(CoordinateReferenceSystem crs)
        Set the coordinate reference system for points to be formatted. The number of dimensions must matched the dimension of points to be formatted.
        Parameters:
        crs - The new coordinate system.
      • getSeparator

        public String getSeparator()
        Returns the separator between each coordinate (number, angle or date).
        Returns:
        The current coordinate separator.
        Since:
        2.2
      • setSeparator

        public void setSeparator​(String separator)
        Set the separator between each coordinate.
        Parameters:
        separator - The new coordinate separator.
        Since:
        2.2
      • setNumberPattern

        public void setNumberPattern​(String pattern)
        Set the pattern for numbers fields. If some ordinates are formatted as plain number (for example in cartesian coordinate system), then those numbers will be formatted using this pattern.
        Parameters:
        pattern - The number pattern as specified in DecimalFormat.
      • setAnglePattern

        public void setAnglePattern​(String pattern)
        Set the pattern for angles fields. If some ordinates are formatted as angle (for example in ellipsoidal coordinate system), then those angles will be formatted using this pattern.
        Parameters:
        pattern - The angle pattern as specified in AngleFormat.
      • setDatePattern

        public void setDatePattern​(String pattern)
        Set the pattern for dates fields. If some ordinates are formatted as date (for example in time coordinate system), then those dates will be formatted using this pattern.
        Parameters:
        pattern - The date pattern as specified in SimpleDateFormat.
      • setTimeZone

        public void setTimeZone​(TimeZone timezone)
        Set the time zone for dates fields. If some ordinates are formatted as date (for example in time coordinate system), then those dates will be formatted using the specified time zone.
        Parameters:
        timezone - The time zone for dates.
      • getFormat

        public Format getFormat​(int dimension)
                         throws IndexOutOfBoundsException
        Returns the format to use for formatting an ordinate at the given dimension. The dimension parameter range from 0 inclusive to the coordinate reference system's dimension, exclusive. This method returns a direct reference to the internal format; any change to the returned Format object will change the formatting for this CoordinateFormat object.
        Parameters:
        dimension - The dimension for the ordinate to format.
        Returns:
        The format for the given dimension.
        Throws:
        IndexOutOfBoundsException - if dimension is out of range.
      • format

        public String format​(Position point)
        Formats a direct position. The position's dimension must matches the coordinate reference system dimension.
        Parameters:
        point - The position to format.
        Returns:
        The formatted position.
        Throws:
        IllegalArgumentException - if this CoordinateFormat cannot format the given object.
      • format

        public StringBuffer format​(Position point,
                                   StringBuffer toAppendTo,
                                   FieldPosition position)
                            throws IllegalArgumentException
        Formats a direct position and appends the resulting text to a given string buffer. The position's dimension must matches the coordinate reference system dimension.
        Parameters:
        point - The position to format.
        toAppendTo - Where the text is to be appended.
        position - A FieldPosition identifying a field in the formatted text, or null if none.
        Returns:
        The string buffer passed in as toAppendTo, with formatted text appended.
        Throws:
        IllegalArgumentException - if this CoordinateFormat cannot format the given object.
      • format

        public StringBuffer format​(Object object,
                                   StringBuffer toAppendTo,
                                   FieldPosition position)
                            throws IllegalArgumentException
        Formats a direct position and appends the resulting text to a given string buffer. The position's dimension must matches the coordinate reference system dimension.
        Specified by:
        format in class Format
        Parameters:
        object - The Position to format.
        toAppendTo - Where the text is to be appended.
        position - A FieldPosition identifying a field in the formatted text, or null if none.
        Returns:
        The string buffer passed in as toAppendTo, with formatted text appended.
        Throws:
        NullPointerException - if toAppendTo is null.
        IllegalArgumentException - if this CoordinateFormat cannot format the given object.
      • parseObject

        public Position parseObject​(String source,
                                    ParsePosition position)
        Not yet implemented.
        Specified by:
        parseObject in class Format
        Parameters:
        source - The string to parse.
        position - The position of the first character to parse.