Interface DatumFactory
- All Superinterfaces:
Factory
,ObjectFactory
- All Known Implementing Classes:
DatumAliases
,ReferencingObjectFactory
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
- Author:
- Martin Desruisseaux (IRD)
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptioncreateEllipsoid
(Map<String, ?> properties, double semiMajorAxis, double semiMinorAxis, Unit<Length> unit) Creates an ellipsoid from radius values.createEngineeringDatum
(Map<String, ?> properties) Creates an engineering datum.createFlattenedSphere
(Map<String, ?> properties, double semiMajorAxis, double inverseFlattening, Unit<Length> unit) Creates an ellipsoid from an major radius, and inverse flattening.createGeodeticDatum
(Map<String, ?> properties, Ellipsoid ellipsoid, PrimeMeridian primeMeridian) Creates geodetic datum from ellipsoid and (optionaly) Bursa-Wolf parameters.createImageDatum
(Map<String, ?> properties, PixelInCell pixelInCell) Creates an image datum.createPrimeMeridian
(Map<String, ?> properties, double longitude, Unit<Angle> unit) Creates a prime meridian, relative to Greenwich.createTemporalDatum
(Map<String, ?> properties, Date origin) Creates a temporal datum from an enumerated type value.createVerticalDatum
(Map<String, ?> properties, VerticalDatumType type) Creates a vertical datum from an enumerated type value.
-
Method Details
-
createEngineeringDatum
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 FactoryExceptionCreates 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 FactoryExceptionCreates 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
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 FactoryExceptionCreates 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 FactoryExceptionCreates 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 FactoryExceptionCreates 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 FactoryExceptionCreates 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.
-