org.geotools.image.io.metadata
Class GeographicMetadataFormat

java.lang.Object
  extended by javax.imageio.metadata.IIOMetadataFormatImpl
      extended by org.geotools.image.io.metadata.GeographicMetadataFormat
All Implemented Interfaces:
javax.imageio.metadata.IIOMetadataFormat

public class GeographicMetadataFormat
extends javax.imageio.metadata.IIOMetadataFormatImpl

Describes the structure of geographic metadata. The following formatting rules apply:

This format tries to match approximatively the GML in JPEG 2000 standard. See the package javadoc for a list of departures from the standard.

Since:
2.4
Version:
$Id: GeographicMetadataFormat.java 30996 2008-07-10 13:28:59Z cedricbr $
Author:
Martin Desruisseaux, Cédric Briançon

Field Summary
static java.lang.String CARTESIAN
          The cartesian coordinate system type.
static java.lang.String ELLIPSOIDAL
          The ellipsoidal coordinate system type.
static java.lang.String ENGINEERING
          The engineering datum type.
static java.lang.String FORMAT_NAME
          The metadata format name.
static java.lang.String GEODETIC
          The geodetic datum type.
static java.lang.String GEOGRAPHIC
          The geographic coordinate reference system type.
static java.lang.String GEOGRAPHIC_3D
          The geographic coordinate reference system type with a vertical axis.
static java.lang.String GEOPHYSICS
          The geophysics sample dimension type.
static java.lang.String IMAGE
          The image datum type.
static java.lang.String PACKED
          The packed sample dimension type.
static java.lang.String PROJECTED
          The projected coordinate reference system type.
static java.lang.String PROJECTED_3D
          The projected coordinate reference system type with a vertical axis.
static java.lang.String TEMPORAL
          The temporal datum type.
static java.lang.String VERTICAL
          The vertical datum type.
 
Fields inherited from class javax.imageio.metadata.IIOMetadataFormatImpl
standardMetadataFormatName
 
Fields inherited from interface javax.imageio.metadata.IIOMetadataFormat
CHILD_POLICY_ALL, CHILD_POLICY_CHOICE, CHILD_POLICY_EMPTY, CHILD_POLICY_MAX, CHILD_POLICY_REPEAT, CHILD_POLICY_SEQUENCE, CHILD_POLICY_SOME, DATATYPE_BOOLEAN, DATATYPE_DOUBLE, DATATYPE_FLOAT, DATATYPE_INTEGER, DATATYPE_STRING, VALUE_ARBITRARY, VALUE_ENUMERATION, VALUE_LIST, VALUE_NONE, VALUE_RANGE, VALUE_RANGE_MAX_INCLUSIVE, VALUE_RANGE_MAX_INCLUSIVE_MASK, VALUE_RANGE_MIN_INCLUSIVE, VALUE_RANGE_MIN_INCLUSIVE_MASK, VALUE_RANGE_MIN_MAX_INCLUSIVE
 
Constructor Summary
protected GeographicMetadataFormat(java.lang.String rootName, int maximumDimensions, int maximumBands)
          Creates a metadata format of the given name.
 
Method Summary
 boolean canNodeAppear(java.lang.String elementName, javax.imageio.ImageTypeSpecifier imageType)
          Returns true if the element (and the subtree below it) is allowed to appear in a metadata document for an image of the given type.
static GeographicMetadataFormat getInstance()
          Returns the default geographic metadata format instance.
 
Methods inherited from class javax.imageio.metadata.IIOMetadataFormatImpl
addAttribute, addAttribute, addAttribute, addAttribute, addBooleanAttribute, addChildElement, addElement, addElement, addObjectValue, addObjectValue, addObjectValue, addObjectValue, getAttributeDataType, getAttributeDefaultValue, getAttributeDescription, getAttributeEnumerations, getAttributeListMaxLength, getAttributeListMinLength, getAttributeMaxValue, getAttributeMinValue, getAttributeNames, getAttributeValueType, getChildNames, getChildPolicy, getElementDescription, getElementMaxChildren, getElementMinChildren, getObjectArrayMaxLength, getObjectArrayMinLength, getObjectClass, getObjectDefaultValue, getObjectEnumerations, getObjectMaxValue, getObjectMinValue, getObjectValueType, getResourceBaseName, getRootName, getStandardFormatInstance, isAttributeRequired, removeAttribute, removeElement, removeObjectValue, setResourceBaseName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FORMAT_NAME

public static final java.lang.String FORMAT_NAME
The metadata format name.

See Also:
Constant Field Values

GEOGRAPHIC

public static final java.lang.String GEOGRAPHIC
The geographic coordinate reference system type. This is often used together with the ellipsoidal coordinate system type.

See Also:
Constant Field Values

GEOGRAPHIC_3D

public static final java.lang.String GEOGRAPHIC_3D
The geographic coordinate reference system type with a vertical axis. This is often used together with a three-dimensional ellipsoidal coordinate system type.

If the coordinate reference system has no vertical axis, or has additional axis of other kind than vertical (for example only a temporal axis), then the type should be the plain "geographic". This is because such CRS are usually constructed as compound CRS rather than a CRS with a three-dimensional coordinate system.

To be strict, a 3D CRS should be allowed only if the vertical axis is of the kind "height above the ellipsoid" (as opposed to "height above the geoid" for example), otherwise we have a compound CRS. But many datafile don't make this distinction.

See Also:
Constant Field Values

PROJECTED

public static final java.lang.String PROJECTED
The projected coordinate reference system type. This is often used together with the cartesian coordinate system type.

See Also:
Constant Field Values

PROJECTED_3D

public static final java.lang.String PROJECTED_3D
The projected coordinate reference system type with a vertical axis. This is often used together with a three-dimensional cartesian coordinate system type.

If the coordinate reference system has no vertical axis, or has additional axis of other kind than vertical (for example only a temporal axis), then the type should be the plain "projected". This is because such CRS are usually constructed as compound CRS rather than a CRS with a three-dimensional coordinate system.

To be strict, a 3D CRS should be allowed only if the vertical axis is of the kind "height above the ellipsoid" (as opposed to "height above the geoid" for example), otherwise we have a compound CRS. But many datafile don't make this distinction.

See Also:
Constant Field Values

ELLIPSOIDAL

public static final java.lang.String ELLIPSOIDAL
The ellipsoidal coordinate system type.

See Also:
Constant Field Values

CARTESIAN

public static final java.lang.String CARTESIAN
The cartesian coordinate system type.

See Also:
Constant Field Values

GEOPHYSICS

public static final java.lang.String GEOPHYSICS
The geophysics sample dimension type. Pixels in the rendered image produced by the image reader contain directly geophysics values like temperature or elevation. Sample type is typically float or double and missing value, if any, must be one of NaN values.

See Also:
Constant Field Values

PACKED

public static final java.lang.String PACKED
The packed sample dimension type. Pixels in the rendered image produced by the image reader contain packed data, typically as byte or short integer type. Conversions to geophysics values are performed by the application of a scale and offset. Some special values are typically used for missing values.

See Also:
Constant Field Values

ENGINEERING

public static final java.lang.String ENGINEERING
The engineering datum type.

See Also:
Constant Field Values

GEODETIC

public static final java.lang.String GEODETIC
The geodetic datum type.

See Also:
Constant Field Values

IMAGE

public static final java.lang.String IMAGE
The image datum type.

See Also:
Constant Field Values

TEMPORAL

public static final java.lang.String TEMPORAL
The temporal datum type.

See Also:
Constant Field Values

VERTICAL

public static final java.lang.String VERTICAL
The vertical datum type.

See Also:
Constant Field Values
Constructor Detail

GeographicMetadataFormat

protected GeographicMetadataFormat(java.lang.String rootName,
                                   int maximumDimensions,
                                   int maximumBands)
Creates a metadata format of the given name. Subclasses should invoke the various addElement or addAttribute methods for adding new elements compared to the default instance.

Parameters:
rootName - the name of the root element.
maximumDimensions - The maximum number of dimensions allowed for coordinate systems.
maximumBands - The maximum number of sample dimensions allowed for images.
Method Detail

canNodeAppear

public boolean canNodeAppear(java.lang.String elementName,
                             javax.imageio.ImageTypeSpecifier imageType)
Returns true if the element (and the subtree below it) is allowed to appear in a metadata document for an image of the given type. The default implementation always returns true.

Specified by:
canNodeAppear in interface javax.imageio.metadata.IIOMetadataFormat
Specified by:
canNodeAppear in class javax.imageio.metadata.IIOMetadataFormatImpl

getInstance

public static GeographicMetadataFormat getInstance()
Returns the default geographic metadata format instance.



Copyright © 1996-2010 Geotools. All Rights Reserved.