org.opengis.referencing.datum
Interface DatumFactory

All Superinterfaces:
Factory, ObjectFactory

@UML(identifier="CS_CoordinateSystemFactory",
     specification=OGC_01009)
public interface DatumFactory
extends ObjectFactory

Builds up complex datums from simpler objects or values. DatumFactory allows applications to make datums that cannot be created by a DatumAuthorityFactory. This factory is very flexible, whereas the authority factory is easier to use. So DatumAuthorityFactory can be used to make "standard" datums, and DatumFactory can be used to make "special" datums.

Since:
GeoAPI 1.0
See Also:
CSFactory, CRSFactory

Method Summary
 Ellipsoid createEllipsoid(Map<String,?> properties, double semiMajorAxis, double semiMinorAxis, Unit<Length> unit)
          Creates an ellipsoid from radius values.
 EngineeringDatum createEngineeringDatum(Map<String,?> properties)
          Creates an engineering datum.
 Ellipsoid createFlattenedSphere(Map<String,?> properties, double semiMajorAxis, double inverseFlattening, Unit<Length> unit)
          Creates an ellipsoid from an major radius, and inverse flattening.
 GeodeticDatum createGeodeticDatum(Map<String,?> properties, Ellipsoid ellipsoid, PrimeMeridian primeMeridian)
          Creates geodetic datum from ellipsoid and (optionally) Bursa-Wolf parameters.
 ImageDatum createImageDatum(Map<String,?> properties, PixelInCell pixelInCell)
          Creates an image datum.
 PrimeMeridian createPrimeMeridian(Map<String,?> properties, double longitude, Unit<Angle> unit)
          Creates a prime meridian, relative to Greenwich.
 TemporalDatum createTemporalDatum(Map<String,?> properties, Date origin)
          Creates a temporal datum from an enumerated type value.
 VerticalDatum createVerticalDatum(Map<String,?> properties, VerticalDatumType type)
          Creates a vertical datum from an enumerated type value.
 
Methods inherited from interface Factory
getVendor
 

Method Detail

createEngineeringDatum

@UML(identifier="createLocalDatum",
     specification=OGC_01009)
EngineeringDatum createEngineeringDatum(Map<String,?> properties)
                                        throws FactoryException
Creates an engineering datum.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there.
Returns:
The datum for the given properties.
Throws:
FactoryException - if the object creation failed.

createGeodeticDatum

@UML(identifier="createHorizontalDatum",
     specification=OGC_01009)
GeodeticDatum createGeodeticDatum(Map<String,?> properties,
                                                                      Ellipsoid ellipsoid,
                                                                      PrimeMeridian primeMeridian)
                                  throws FactoryException
Creates geodetic datum from ellipsoid and (optionally) Bursa-Wolf parameters.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there.
ellipsoid - Ellipsoid to use in new geodetic datum.
primeMeridian - Prime meridian to use in new geodetic datum.
Returns:
The datum for the given properties.
Throws:
FactoryException - if the object creation failed.

createImageDatum

ImageDatum createImageDatum(Map<String,?> properties,
                            PixelInCell pixelInCell)
                            throws FactoryException
Creates an image datum.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there.
pixelInCell - Specification of the way the image grid is associated with the image data attributes.
Returns:
The datum for the given properties.
Throws:
FactoryException - if the object creation failed.

createTemporalDatum

TemporalDatum createTemporalDatum(Map<String,?> properties,
                                  Date origin)
                                  throws FactoryException
Creates a temporal datum from an enumerated type value.

Warning: The argument type of this method may change in GeoAPI 3.1 release. It may be replaced by a type matching more closely either ISO 19108 (Temporal Schema) or ISO 19103.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there.
origin - The date and time origin of this temporal datum.
Returns:
The datum for the given properties.
Throws:
FactoryException - if the object creation failed.

createVerticalDatum

@UML(identifier="createVerticalDatum",
     specification=OGC_01009)
VerticalDatum createVerticalDatum(Map<String,?> properties,
                                                                      VerticalDatumType type)
                                  throws FactoryException
Creates a vertical datum from an enumerated type value.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there.
type - The type of this vertical datum (often "geoidal").
Returns:
The datum for the given properties.
Throws:
FactoryException - if the object creation failed.

createEllipsoid

@UML(identifier="createEllipsoid",
     specification=OGC_01009)
Ellipsoid createEllipsoid(Map<String,?> properties,
                                                              double semiMajorAxis,
                                                              double semiMinorAxis,
                                                              Unit<Length> unit)
                          throws FactoryException
Creates an ellipsoid from radius values.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there.
semiMajorAxis - Equatorial radius in supplied linear units.
semiMinorAxis - Polar radius in supplied linear units.
unit - Linear units of ellipsoid axes.
Returns:
The ellipsoid for the given properties.
Throws:
FactoryException - if the object creation failed.

createFlattenedSphere

@UML(identifier="createFlattenedSphere",
     specification=OGC_01009)
Ellipsoid createFlattenedSphere(Map<String,?> properties,
                                                                    double semiMajorAxis,
                                                                    double inverseFlattening,
                                                                    Unit<Length> unit)
                                throws FactoryException
Creates an ellipsoid from an major radius, and inverse flattening.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there.
semiMajorAxis - Equatorial radius in supplied linear units.
inverseFlattening - Eccentricity of ellipsoid.
unit - Linear units of major axis.
Returns:
The ellipsoid for the given properties.
Throws:
FactoryException - if the object creation failed.

createPrimeMeridian

@UML(identifier="createPrimeMeridian",
     specification=OGC_01009)
PrimeMeridian createPrimeMeridian(Map<String,?> properties,
                                                                      double longitude,
                                                                      Unit<Angle> unit)
                                  throws FactoryException
Creates a prime meridian, relative to Greenwich.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there.
longitude - Longitude of prime meridian in supplied angular units East of Greenwich.
unit - Angular units of longitude.
Returns:
The prime meridian for the given properties.
Throws:
FactoryException - if the object creation failed.


Copyright © 1994-2011 Open Geospatial Consortium. All Rights Reserved.