Well Known Text (WKT) parsing and formatting. This package implements the services provided by various convenience methods:
CRS.fromWKT(String)(SIS parsing static method)
CRSFactory.createFromWKT(String)(GeoAPI parsing method)
MathTransformFactory.createFromWKT(String)(GeoAPI parsing method)
IdentifiedObject.toWKT()(GeoAPI formatting method)
WKTFormatclass provided in this package gives more control. For example this package allows to:
- Format projection and parameters using the names of a chosen authority.
For example the "Mercator (variant A)" projection is named
"Mercator_1SP"by OGC 01-009 and
- Format the elements with different quote characters or brackets style.
For example both
ID("EPSG",4326)are legal WKT.
- Format with a different indentation or format the whole WKT on a single line.
- Apply syntactic coloring on terminal supporting ANSI escape codes (a.k.a. ECMA-48, ISO/IEC 6429 and X3.64).
- Alter the parsing in a way compatible with non-standard (but commonly used) WKT.
For example some others software products ignore the
AXIS[…]elements at parsing time.
- Report warnings that occurred during parsing or formatting.
Referencing WKTReferencing WKT is defined using Extended Backus Naur Form (EBNF) in two versions:
- ISO 19162 defines the current format, also known as “WKT 2”. The specification is also made available online by OGC.
- The previous format — “WKT 1” — was defined in the OGC document 01-009. This definition is shown on GeoAPI.
GeneralDirectPositionclasses provide their own, limited, WKT parsing and formatting services for the
POINTelements. A description for this WKT format can be found on Wikipedia.
Where to find WKT examplesAn excellent source of well-formed WKT is the online EPSG Geodetic Parameter Registry. The WKT of many Coordinate Reference System object can be viewed using the pattern below (replace
3395by the EPSG code of the desired CRS):
Example: "WGS 84 / World Mercator": http://epsg-registry.org/export.htm?wkt=urn:ogc:def:crs:EPSG::3395Readers should be aware that some popular other sources of WKT are actually invalid, since many of them do not comply with EPSG definitions (especially on axis order). The above-cited EPSG registry is the authoritative source of CRS definitions in the EPSG namespace.
Interface Summary Interface Description ParserA parser or a factory capable to create an object from a string in the WKT format.
Class Summary Class Description ColorsThe colors to use for formatting Well Known Text (WKT) objects. FormattableObjectBase class for objects that can be formatted as Well Known Text (WKT). FormatterProvides support methods for formatting a Well Known Text (WKT). SymbolsThe set of symbols to use for Well Known Text (WKT) parsing and formatting. TransliteratorControls the replacement of characters, abbreviations and names between the objects in memory and their WKT representations. WarningsWarnings that occurred during a Well Known Text (WKT) parsing or formatting. WKTFormatParser and formatter for Well Known Text (WKT) strings.
Enum Summary Enum Description ConventionThe convention to use for WKT formatting. ElementKindKind of an element in a Well Known Text. KeywordCaseWhether WKT keywords shall be written with lower, upper or camel case styles. KeywordStyleWhether to use short or long WKT keywords.
Exception Summary Exception Description UnformattableObjectExceptionThrown by
FormattableObject.toWKT()when an object can not be formatted as WKT.
UnparsableObjectExceptionThrown when a Well Known Text (WKT) can not be parsed.