org.geotools.referencing.wkt
Class Parser

Object
  extended by Format
      extended by AbstractParser
          extended by MathTransformParser
              extended by Parser
All Implemented Interfaces:
Serializable, Cloneable

public class Parser
extends MathTransformParser

Parser for Well Known Text (WKT). This parser can parse math transform objects as well, which is part of the WKT's FITTED_CS element.

Since:
2.0
Author:
Remi Eve, Martin Desruisseaux (IRD)
See Also:
Well Know Text specification, OGC WKT Coordinate System Issues, Serialized Form
Module:
modules/library/referencing (gt-referencing.jar)

Nested Class Summary
 
Nested classes/interfaces inherited from class Format
Format.Field
 
Field Summary
protected  CRSFactory crsFactory
          The factory to use for creating coordinate reference systems.
protected  CSFactory csFactory
          The factory to use for creating coordinate systems.
protected  DatumFactory datumFactory
          The factory to use for creating datum.
 
Fields inherited from class MathTransformParser
mtFactory
 
Constructor Summary
Parser()
          Constructs a parser using the default set of symbols and factories.
Parser(Symbols symbols)
          Constructs a parser for the specified set of symbols using default factories.
Parser(Symbols symbols, DatumFactory datumFactory, CSFactory csFactory, CRSFactory crsFactory, MathTransformFactory mtFactory)
          Constructs a parser for the specified set of symbols using the specified factories.
Parser(Symbols symbols, ReferencingFactoryContainer factories)
          Constructs a parser for the specified set of symbols using the specified set of factories.
 
Method Summary
protected  Map<String,Object> alterProperties(Map<String,Object> properties)
          Returns the properties to be given to the parsed object.
static Class<?> getClassOf(String element)
          Returns the class of the specified WKT element.
static String getNameOf(Class<?> type)
          Returns the WKT name of the specified object type.
static void main(String[] args)
          Read WKT strings from the standard input stream and reformat them to the standard output stream.
protected  Object parse(Element element)
          Parses the next element in the specified Well Know Text (WKT) tree.
 CoordinateReferenceSystem parseCoordinateReferenceSystem(String text)
          Parses a coordinate reference system element.
 
Methods inherited from class MathTransformParser
parseMathTransform
 
Methods inherited from class AbstractParser
format, getAuthority, getTree, getWarning, isColorEnabled, parseObject, parseObject, reformat, setAuthority, setColorEnabled
 
Methods inherited from class Format
clone, format, formatToCharacterIterator
 
Methods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

datumFactory

protected final DatumFactory datumFactory
The factory to use for creating datum.


csFactory

protected final CSFactory csFactory
The factory to use for creating coordinate systems.


crsFactory

protected final CRSFactory crsFactory
The factory to use for creating coordinate reference systems.

Constructor Detail

Parser

public Parser()
Constructs a parser using the default set of symbols and factories.


Parser

public Parser(Symbols symbols)
Constructs a parser for the specified set of symbols using default factories.

Parameters:
symbols - The symbols for parsing and formatting numbers.

Parser

public Parser(Symbols symbols,
              ReferencingFactoryContainer factories)
Constructs a parser for the specified set of symbols using the specified set of factories.

Parameters:
symbols - The symbols for parsing and formatting numbers.
factories - The factories to use.

Parser

public Parser(Symbols symbols,
              DatumFactory datumFactory,
              CSFactory csFactory,
              CRSFactory crsFactory,
              MathTransformFactory mtFactory)
Constructs a parser for the specified set of symbols using the specified factories.

Parameters:
symbols - The symbols for parsing and formatting numbers.
datumFactory - The factory to use for creating datum.
csFactory - The factory to use for creating coordinate systems.
crsFactory - The factory to use for creating coordinate reference systems.
mtFactory - The factory to use for creating math transform objects.
Method Detail

parseCoordinateReferenceSystem

public CoordinateReferenceSystem parseCoordinateReferenceSystem(String text)
                                                         throws ParseException
Parses a coordinate reference system element.

Parameters:
text - The text to be parsed.
Returns:
The coordinate reference system.
Throws:
ParseException - if the string can't be parsed.

parse

protected Object parse(Element element)
                throws ParseException
Parses the next element in the specified Well Know Text (WKT) tree.

Overrides:
parse in class MathTransformParser
Parameters:
element - The element to be parsed.
Returns:
The object.
Throws:
ParseException - if the element can't be parsed.

alterProperties

protected Map<String,Object> alterProperties(Map<String,Object> properties)
Returns the properties to be given to the parsed object. This method is invoked automatically by the parser for the root element only. This method expect on input the properties parsed from the AUTHORITY element, and returns on output the properties to give to the object to be created. The default implementation returns the properties map unchanged. Subclasses may override this method in order to add or change properties.

Example: if a subclass want to add automatically an authority code when no AUTHORITY element was explicitly set in the WKT, then it may test for the IdentifiedObject.IDENTIFIERS_KEY key and add automatically an entry if this key was missing.

Parameters:
properties - The properties parsed from the WKT file. Entries can be added, removed or modified directly in this map.
Returns:
The properties to be given to the parsed object. This is usually properties (maybe after modifications), but could also be a new map.
Since:
2.3

getClassOf

public static Class<?> getClassOf(String element)
Returns the class of the specified WKT element. For example this method returns ProjectedCRS.class for element "PROJCS".

Parameters:
element - The WKT element name.
Returns:
The GeoAPI class of the specified element, or null if unknow.

getNameOf

public static String getNameOf(Class<?> type)
Returns the WKT name of the specified object type. For example this method returns "PROJCS" for type ProjectedCRS.class.

Parameters:
type - The GeoAPI class of the specified element.
Returns:
The WKT element name, or null if unknow.
Since:
2.4

main

public static void main(String[] args)
Read WKT strings from the standard input stream and reformat them to the standard output stream. The input is read until it reach the end-of-file ([Ctrl-Z] if reading from the keyboard), or until an unparsable WKT has been hit. Optional arguments are:
-authority <name>  The authority to prefer when choosing WKT entities names.
-indentation <value>  Set the indentation (0 for output on a single line)
-encoding <code>  Set the character encoding
-locale <language>  Set the language for the output (e.g. "fr" for French)

Parameters:
args - The command line arguments.


Copyright © 1996-2010 Geotools. All Rights Reserved.