Interface DatumFactory
-
- All Superinterfaces:
Factory
,ObjectFactory
- All Known Implementing Classes:
DatumAliases
,ReferencingObjectFactory
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 aDatumAuthorityFactory
. This factory is very flexible, whereas the authority factory is easier to use. SoDatumAuthorityFactory
can be used to make "standard" datums, andDatumFactory
can be used to make "special" datums.- Since:
- GeoAPI 1.0
- Author:
- Martin Desruisseaux (IRD)
- See Also:
CSFactory
,CRSFactory
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description 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 (optionaly) 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.
-
-
-
Method Detail
-
createEngineeringDatum
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
GeodeticDatum createGeodeticDatum(Map<String,?> properties, Ellipsoid ellipsoid, PrimeMeridian primeMeridian) throws FactoryException
Creates geodetic datum from ellipsoid and (optionaly) 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.- 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
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
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
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
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.
-
-