- 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:
- 1.0
- 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 (optionally) 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
@UML(identifier="createLocalDatum", specification=OGC_01009) EngineeringDatum createEngineeringDatum(Map<String, ?> properties) throws FactoryExceptionCreates 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 FactoryExceptionCreates 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 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.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 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
@UML(identifier="createEllipsoid", specification=OGC_01009) 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
@UML(identifier="createFlattenedSphere", specification=OGC_01009) 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
@UML(identifier="createPrimeMeridian", specification=OGC_01009) 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.
-