|
deegree 2.5 (2011/06/29 09:44 build-8-official) | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.deegree.crs.configuration.AbstractCRSProvider<org.w3c.dom.Element> org.deegree.crs.configuration.gml.GMLCRSProvider
public class GMLCRSProvider
The GMLCRSProvider
is a provider for a GML 3.2 backend, this may be a dictionary or a database.
Note: not all of the GML3.2. features are implemented yet, but the basics (transformations, crs's, axis, units,
projections) should work quite well.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.deegree.crs.configuration.AbstractCRSProvider |
---|
AbstractCRSProvider.SupportedProjectionParameters, AbstractCRSProvider.SupportedProjections, AbstractCRSProvider.SupportedTransformationParameters, AbstractCRSProvider.SupportedTransformations |
Constructor Summary | |
---|---|
GMLCRSProvider(java.util.Properties properties)
The 'default constructor' which will be called by the CRSConfiguration |
Method Summary | |
---|---|
boolean |
canExport()
|
void |
export(java.lang.StringBuilder sb,
java.util.List<CoordinateSystem> crsToExport)
Exports the crs to the implemented format. |
java.util.List<java.lang.String> |
getAvailableCRSIds()
This method should be called if one is only interested in the available identifiers and not in the coordinatesystems themselves. |
java.util.List<CoordinateSystem> |
getAvailableCRSs()
This method should be called to see if the provider is able to create all defined crs's, thus verifying the correctness of the configuration. |
Identifiable |
getIdentifiable(java.lang.String id)
This method is more general than the CRSProvider.getCRSByID(String) , because it represents a possibility to return
an arbitrary Identifiable Object from the providers backend. |
protected org.w3c.dom.Element |
getRequiredXlinkedElement(org.w3c.dom.Element propertyElement,
java.lang.String alternativeXPath)
convenience method to retrieve a given required element either by resolving a optional xlink or by evaluating the required element denoted by the xpath. |
java.util.List<java.lang.String[]> |
getSortedAvailableCRSIds()
This method should be called if one is only interested in the available identifiers and not in the coordinatesystems themselves. |
Transformation |
getTransformation(CoordinateSystem sourceCRS,
CoordinateSystem targetCRS)
This method is should retrieve a transformation (chain) which transforms coordinates from the given source into the given target crs. |
java.util.List<Transformation> |
getTransformations()
|
protected Axis |
parseAxis(org.w3c.dom.Element rootElement)
|
protected Axis[] |
parseAxisFromCSType(org.w3c.dom.Element rootElement)
For the ellipsoidal and cartesian cs Types, this method also checks the consistency of axis (radian, radian, [metre] ) or (metre, metre, [metre] ). |
protected CompoundCRS |
parseCompoundCRS(org.w3c.dom.Element rootElement)
This methods parses the given element and maps it onto a CompoundCRS . |
protected CoordinateSystem |
parseCoordinateSystem(org.w3c.dom.Element rootElement)
|
protected GeodeticDatum |
parseDatum(org.w3c.dom.Element rootElement)
|
protected Ellipsoid |
parseEllipsoid(org.w3c.dom.Element rootElement)
|
protected CoordinateSystem |
parseGeodeticCRS(org.w3c.dom.Element rootElement)
|
protected Transformation |
parseGMLTransformation(org.w3c.dom.Element rootElement)
Parses some of the gml 3.2 transformation constructs. |
Identifiable |
parseIdentifiedObject(org.w3c.dom.Element rootElement)
|
protected Pair<Identifiable,Pair<Unit,java.lang.Double>> |
parseParameterValue(org.w3c.dom.Element rootElement)
|
protected java.util.List<Pair<Identifiable,Pair<Unit,java.lang.Double>>> |
parseParameterValues(org.w3c.dom.Element rootElement)
|
protected PrimeMeridian |
parsePrimeMeridian(org.w3c.dom.Element rootElement)
|
protected CoordinateSystem |
parseProjectedCRS(org.w3c.dom.Element rootElement)
|
protected Projection |
parseProjection(org.w3c.dom.Element rootElement,
GeographicCRS underlyingCRS)
For now this method actually wraps all information in a gml:AbstractGeneralConversionType (or a derived subtype) into an Identifiable Object (used for the Projections). |
Transformation |
parseTransformation(org.w3c.dom.Element rootElement)
Calls parseGMLTransformation for the catching of XMLParsingException . |
protected Unit |
parseUnitOfMeasure(org.w3c.dom.Element elementContainingUOMAttribute)
Returns the unit defined by the uomAttribute given of the given element. |
protected VerticalCRS |
parseVerticalCRS(org.w3c.dom.Element rootElement)
|
protected VerticalDatum |
parseVerticalDatum(org.w3c.dom.Element rootElement)
|
protected org.w3c.dom.Element |
retrieveAndResolveXLink(org.w3c.dom.Element rootElement)
Retrieves the xlink:href of the given rootElement and use the XLinkResolver to resolve the xlink if it was given. |
protected java.lang.String |
retrieveXLink(org.w3c.dom.Element rootElement)
Find an xlink:href attribute and return it's value, if not found, the empty String will be returned. |
Methods inherited from class org.deegree.crs.configuration.AbstractCRSProvider |
---|
addIdToCache, clearCache, getCachedIdentifiable, getCachedIdentifiable, getCachedIdentifiable, getCachedIdentifiable, getCRSByID, getResolver, mapProjectionParameters, mapProjections, mapTransformation, mapTransformationParameters, setResolver |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public GMLCRSProvider(java.util.Properties properties)
properties
- the properties which can hold information about the configuration of this GML provider.Method Detail |
---|
public boolean canExport()
public void export(java.lang.StringBuilder sb, java.util.List<CoordinateSystem> crsToExport)
CRSProvider
CRSProvider.canExport()
before executing this method.
sb
- the StringBuilder which will contain the exported version of the given crs.crsToExport
- the CoordinateSystems to export.CRSProvider.canExport()
public java.util.List<java.lang.String[]> getSortedAvailableCRSIds()
CRSProvider
public java.util.List<java.lang.String> getAvailableCRSIds() throws CRSConfigurationException
CRSProvider
CRSConfigurationException
- if the implementation was confronted by an exception and could not deliver the requested crs. This
exception should not be thrown if no CoordinateSystems were found, in the latter case an empty List (
a list with size == 0 ) should be returned.public java.util.List<CoordinateSystem> getAvailableCRSs()
CRSProvider
protected CoordinateSystem parseCoordinateSystem(org.w3c.dom.Element rootElement) throws CRSConfigurationException
parseCoordinateSystem
in class AbstractCRSProvider<org.w3c.dom.Element>
rootElement
- containing a gml:CRS dom representation.
CoordinateSystem
instance initialized with values from the given xml-dom gml:CRS fragment or
null
if the given root element is null
CRSConfigurationException
- if something went wrong.public Transformation parseTransformation(org.w3c.dom.Element rootElement) throws CRSConfigurationException
XMLParsingException
.
parseTransformation
in class AbstractCRSProvider<org.w3c.dom.Element>
rootElement
- containing the parameters needed to build a Transformation.
Transformation
instance initialized with values from the given definition or null
if the given transformationDefintion is null
. If the parsed transformation is not supported
or a NotSupportedTransformation
will be returned.
CRSConfigurationException
- if an error was found in the given crsDefintionprotected Transformation parseGMLTransformation(org.w3c.dom.Element rootElement) throws XMLParsingException, java.io.IOException
rootElement
-
XMLParsingException
java.io.IOException
public Identifiable parseIdentifiedObject(org.w3c.dom.Element rootElement) throws XMLParsingException
rootElement
- which is a subtype of gml:IdentifiedObject and gml:DefinitionType or gml:AbstractCRSType
Identifiable
instance, its values are filled with the values of the given gml instance.
XMLParsingException
- if the given rootElement could not be parsed.protected CompoundCRS parseCompoundCRS(org.w3c.dom.Element rootElement) throws XMLParsingException, java.io.IOException
CompoundCRS
. Currently only gml:CompoundCRS 's
consisting of following combination is supported:
CompoundCRS
by calling the
parseGeodeticCRS(Element)
rootElement
- containing a gml:CompoundCRS dom representation.
CompoundCRS
instance initialized with values from the given xml-dom gml:CompoundCRS fragment.
XMLParsingException
java.io.IOException
protected CoordinateSystem parseProjectedCRS(org.w3c.dom.Element rootElement) throws XMLParsingException, java.io.IOException
rootElement
- containing a gml:ProjectedCRS dom representation.
ProjectedCRS
instance initialized with values from the given xml-dom gml:ProjectedCRS fragment
or null
if the given root element is null
XMLParsingException
- if the dom tree is not consistent or a required element is missing.
java.io.IOException
- if a retrieval of an xlink of one of the subelements failed.protected CoordinateSystem parseGeodeticCRS(org.w3c.dom.Element rootElement) throws XMLParsingException, java.io.IOException
rootElement
- containing a gml:GeodeticCRS dom representation.
CoordinateSystem
instance initialized with values from the given xml-dom gml:GeodeticCRS
fragment or null
if the given root element is null
. Note the result may be
a CompoundCRS
, a GeographicCRS
or a GeocentricCRS
, depending of the definition
of the CS type.
XMLParsingException
java.io.IOException
protected GeodeticDatum parseDatum(org.w3c.dom.Element rootElement) throws java.io.IOException, XMLParsingException
rootElement
- containing a gml:GeodeticDatum dom representation.
GeodeticDatum
instance initialized with values from the given xml-dom fragment or
null
if the given root element is null
XMLParsingException
- if the dom tree is not consistent or a required element is missing.
java.io.IOException
- if a retrieval of an xlink of one of the subelements failed.protected Axis[] parseAxisFromCSType(org.w3c.dom.Element rootElement) throws XMLParsingException, java.io.IOException
rootElement
- containing a (Ellipsoidal, Spherical, Cartesian) CS type dom representation.
Axis
array instance initialized with values from the given xml-dom fragment or
null
if the given root element is null
XMLParsingException
- if the dom tree is not consistent or a required element is missing.
java.io.IOException
- if a retrieval of an xlink of one of the subelements failed.protected Axis parseAxis(org.w3c.dom.Element rootElement) throws XMLParsingException
rootElement
- containing an gml:CoordinateSystemAxis type dom representation.
Axis
instance initialized with values from the given xml-dom fragment or null
if the given root element is null
if the axis could not be mapped it's orientation will be
Axis.AO_OTHER
XMLParsingException
- if the dom tree is not consistent or a required element is missing.protected Ellipsoid parseEllipsoid(org.w3c.dom.Element rootElement) throws XMLParsingException
rootElement
- containing a gml:Ellipsoid dom representation.
Ellipsoid
instance initialized with values from the given xml-dom fragment or null
if the given root element is null
XMLParsingException
- if the dom tree is not consistent or a required element is missing.protected PrimeMeridian parsePrimeMeridian(org.w3c.dom.Element rootElement) throws XMLParsingException
rootElement
- to create the pm from.
PrimeMeridian.GREENWICH
or the appropriate pm if a longitude is defined.
XMLParsingException
protected VerticalCRS parseVerticalCRS(org.w3c.dom.Element rootElement) throws XMLParsingException, java.io.IOException
rootElement
- containing a gml:VerticalCRS dom representation.
VerticalCRS
instance initialized with values from the given xml-dom fragment or
null
if the given root element is null
java.io.IOException
XMLParsingException
- if the dom tree is not consistent or a required element is missing.protected VerticalDatum parseVerticalDatum(org.w3c.dom.Element rootElement) throws XMLParsingException
rootElement
- containing a gml:VerticalDatum dom representation.
VerticalDatum
instance initialized with values from the given xml-dom fragment or
null
if the given root element is null
XMLParsingException
- if the dom tree is not consistent or a required element is missing.protected Projection parseProjection(org.w3c.dom.Element rootElement, GeographicCRS underlyingCRS) throws XMLParsingException, java.io.IOException
rootElement
- a gml:GeneralConversion elementunderlyingCRS
- of the projection.
XMLParsingException
- if the dom tree is not consistent or a required element is missing.
java.io.IOException
protected java.util.List<Pair<Identifiable,Pair<Unit,java.lang.Double>>> parseParameterValues(org.w3c.dom.Element rootElement) throws XMLParsingException, java.io.IOException
rootElement
- which should contain a list of parameter Value properties.
null
or no
parameterValues were found.
XMLParsingException
- if the dom tree is not consistent or a required element is missing.
java.io.IOException
protected Pair<Identifiable,Pair<Unit,java.lang.Double>> parseParameterValue(org.w3c.dom.Element rootElement) throws XMLParsingException, java.io.IOException
rootElement
- containing a parameter Value property.
null
XMLParsingException
- if the dom tree is not consistent or a required element is missing.
java.io.IOException
protected Unit parseUnitOfMeasure(org.w3c.dom.Element elementContainingUOMAttribute) throws XMLParsingException
elementContainingUOMAttribute
- an element containing the 'uom' attribute which will be mapped onto a known unit.
Unit
or null
if the given uomAttribute is empty or null
,
or no appropriate mapping could be found.
XMLParsingException
protected org.w3c.dom.Element getRequiredXlinkedElement(org.w3c.dom.Element propertyElement, java.lang.String alternativeXPath) throws XMLParsingException, java.io.IOException
propertyElement
- to resolve an xlink from.alternativeXPath
- denoting a path to the required node starting from the given propertyElement.
XMLParsingException
- if the given propertyElement is null
or the resulting xml dom-tree could not be parsed
or the alternative xpath does not result in an Element.
java.io.IOException
- if the xlink could not be properly resolvedprotected org.w3c.dom.Element retrieveAndResolveXLink(org.w3c.dom.Element rootElement) throws java.io.IOException
rootElement
- to retrieve and resolve
null
if the xlink could not be
resolved (or was not given) or the rootElement is null.
java.io.IOException
public Identifiable getIdentifiable(java.lang.String id) throws CRSConfigurationException
CRSProvider
CRSProvider.getCRSByID(String)
, because it represents a possibility to return
an arbitrary Identifiable
Object from the providers backend.
id
- string representation of the resource to retrieve
Identifiable
Object or null
if no such Object was found.
CRSConfigurationException
- if the implementation was confronted by an exception and could not deliver the requested Object. This
exception should not be thrown if the given id wasn't found, in this case null
should
be returned.protected java.lang.String retrieveXLink(org.w3c.dom.Element rootElement)
rootElement
- to get the attribute from.
public Transformation getTransformation(CoordinateSystem sourceCRS, CoordinateSystem targetCRS) throws CRSConfigurationException
CRSProvider
null should be returned.
- Parameters:
sourceCRS
- start of the transformation (chain)targetCRS
- end point of the transformation (chain).
- Returns:
- the
Transformation
Object or null
if no such Object was found.
- Throws:
CRSConfigurationException
- if the implementation was confronted by an exception and could not deliver the requested Object. This
exception should not be thrown no Transformation was found, in this case null
should
be returned.
public java.util.List<Transformation> getTransformations()
|
deegree 2.5 (2011/06/29 09:44 build-8-official) | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://www.deegree.org