Class LocationFormat
- All Implemented Interfaces:
Serializable
,Cloneable
,Localized
Formats
Location
instances in a tabular format.
This format assumes a monospaced font and an encoding supporting drawing box characters (e.g. UTF-8).
Example
The location identified by "32TNL83" in the military grid reference system can be represented by the following string formatted usingLocale.ENGLISH
:
┌─────────────────────────────────────────────────────────────┐ │ Location type: Grid zone designator │ │ Geographic identifier: 32TNL83 │ │ West bound: 580,000 m — 9°57′00″E │ │ Representative value: 585,000 m — 10°00′36″E │ │ East bound: 590,000 m — 10°04′13″E │ │ South bound: 4,530,000 m — 40°54′58″N │ │ Representative value: 4,535,000 m — 40°57′42″N │ │ North bound: 4,540,000 m — 41°00′27″N │ │ Coordinate reference system: WGS 84 / UTM zone 32N │ └─────────────────────────────────────────────────────────────┘
Limitations
- The current implementation can only format features — parsing is not yet implemented.
LocationFormat
, like mostjava.text.Format
subclasses, is not thread-safe.
- Since:
- 0.8
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class Format
Format.Field
-
Field Summary
Fields inherited from class TabularFormat
beforeFill, columnSeparator, fillCharacter, lineSeparator, omitTrailingNulls
-
Constructor Summary
ConstructorDescriptionLocationFormat
(Locale locale, TimeZone timezone) Creates a new format for the given locale. -
Method Summary
Modifier and TypeMethodDescriptionclone()
Returns a clone of this format.protected Format
createFormat
(Class<?> valueType) Creates the format to use for formatting a latitude, longitude or projected coordinate.void
format
(AbstractLocation location, Appendable toAppendTo) Writes a textual representation of the given location in the given stream or buffer.Returns the type of values formatted by thisFormat
instance.parse
(CharSequence text, ParsePosition pos) Unsupported operation.Methods inherited from class TabularFormat
getColumnSeparatorMatcher, getColumnSeparatorPattern, getLineSeparator, setColumnSeparatorPattern, setLineSeparator
Methods inherited from class CompoundFormat
format, getFormat, getLocale, getLocale, getTimeZone, parseObject, parseObject
Methods inherited from class Format
format, formatToCharacterIterator
-
Constructor Details
-
LocationFormat
Creates a new format for the given locale. The given locale can benull
orLocale.ROOT
if this format shall format "unlocalized" strings.- Parameters:
locale
- the locale for the newFormat
, ornull
forLocale.ROOT
.timezone
- the timezone, ornull
for UTC.
-
-
Method Details
-
getValueType
Returns the type of values formatted by thisFormat
instance.- Specified by:
getValueType
in classCompoundFormat<AbstractLocation>
- Returns:
- the type of values formatted by this
Format
instance.
-
format
Writes a textual representation of the given location in the given stream or buffer.Upcoming API change — generalization
in a future SIS version, the type oflocation
parameter may be generalized to theorg.opengis.referencing.gazetteer.Location
interface. This change is pending GeoAPI revision.- Specified by:
format
in classCompoundFormat<AbstractLocation>
- Parameters:
location
- the location to format.toAppendTo
- where to format the location.- Throws:
IOException
- if an error occurred while writing to the given appendable.
-
createFormat
Creates the format to use for formatting a latitude, longitude or projected coordinate. This method is invoked byformat(Location, Appendable)
when first needed.- Overrides:
createFormat
in classCompoundFormat<AbstractLocation>
- Parameters:
valueType
-Angle.class
.Number.class
orUnit.class
.- Returns:
- a new
AngleFormat
,NumberFormat
orUnitFormat
instance depending on the argument value.
-
parse
Unsupported operation.- Specified by:
parse
in classCompoundFormat<AbstractLocation>
- Parameters:
text
- the character sequence for the location to parse.pos
- the position where to start the parsing.- Returns:
- the parsed location, or
null
if the text is not recognized. - Throws:
ParseException
- if an error occurred while parsing the location.
-
clone
Returns a clone of this format.- Overrides:
clone
in classTabularFormat<AbstractLocation>
- Returns:
- a clone of this format.
-