GeoAPI 2.0
Build 2005-06-08

org.opengis.referencing.crs
Interface CRSFactory

All Superinterfaces:
Factory, ObjectFactory

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

Builds up complex coordinate reference systems from simpler objects or values. CRSFactory allows applications to make coordinate reference systems that cannot be created by a CRSAuthorityFactory. This factory is very flexible, whereas the authority factory is easier to use. So CRSAuthorityFactory can be used to make "standard" coordinate reference systems, and CRSFactory can be used to make "special" coordinate reference systems. For example, the EPSG authority has codes for USA state plane coordinate systems using the NAD83 datum, but these coordinate systems always use meters. EPSG does not have codes for NAD83 state plane coordinate systems that use feet units. This factory lets an application create such a hybrid coordinate system.

Since:
GeoAPI 1.0
Version:
Implementation specification 1.0
See Also:
CSFactory, DatumFactory

Method Summary
 CompoundCRS createCompoundCRS(Map<String,? extends Object> properties, CoordinateReferenceSystem[] elements)
          Creates a compound coordinate reference system from an ordered list of CoordinateReferenceSystem objects.
 DerivedCRS createDerivedCRS(Map<String,? extends Object> properties, CoordinateReferenceSystem base, MathTransform baseToDerived, CoordinateSystem derivedCS)
          Deprecated. Use the method with an OperationMethod argument instead.
 DerivedCRS createDerivedCRS(Map<String,? extends Object> properties, OperationMethod method, CoordinateReferenceSystem base, MathTransform baseToDerived, CoordinateSystem derivedCS)
          Creates a derived coordinate reference system.
 EngineeringCRS createEngineeringCRS(Map<String,? extends Object> properties, EngineeringDatum datum, CoordinateSystem cs)
          Creates a engineering coordinate reference system.
 CoordinateReferenceSystem createFromWKT(String wkt)
          Creates a coordinate reference system object from a string.
 CoordinateReferenceSystem createFromXML(String xml)
          Creates a coordinate reference system object from a XML string.
 GeocentricCRS createGeocentricCRS(Map<String,? extends Object> properties, GeodeticDatum datum, CartesianCS cs)
          Creates a geocentric coordinate reference system from a cartesian coordinate system.
 GeocentricCRS createGeocentricCRS(Map<String,? extends Object> properties, GeodeticDatum datum, SphericalCS cs)
          Creates a geocentric coordinate reference system from a spherical coordinate system.
 GeographicCRS createGeographicCRS(Map<String,? extends Object> properties, GeodeticDatum datum, EllipsoidalCS cs)
          Creates a geographic coordinate reference system.
 ImageCRS createImageCRS(Map<String,? extends Object> properties, ImageDatum datum, AffineCS cs)
          Creates an image coordinate reference system.
 ProjectedCRS createProjectedCRS(Map<String,? extends Object> properties, GeographicCRS base, MathTransform baseToDerived, CartesianCS derivedCS)
          Deprecated. Use the method with an OperationMethod argument instead.
 ProjectedCRS createProjectedCRS(Map<String,? extends Object> properties, GeographicCRS geoCRS, String method, GeneralParameterValue[] parameters, CartesianCS cs)
          Deprecated. This method will be removed for the following reasons:
 ProjectedCRS createProjectedCRS(Map<String,? extends Object> properties, OperationMethod method, GeographicCRS base, MathTransform baseToDerived, CartesianCS derivedCS)
          Creates a projected coordinate reference system from a transform.
 TemporalCRS createTemporalCRS(Map<String,? extends Object> properties, TemporalDatum datum, TimeCS cs)
          Creates a temporal coordinate reference system.
 VerticalCRS createVerticalCRS(Map<String,? extends Object> properties, VerticalDatum datum, VerticalCS cs)
          Creates a vertical coordinate reference system.
 
Methods inherited from interface Factory
getVendor
 

Method Detail

createCompoundCRS

@UML(identifier="createCompoundCoordinateSystem",
     specification=OGC_01009)
CompoundCRS createCompoundCRS(Map<String,? extends Object> properties,
                                                                  CoordinateReferenceSystem[] elements)
                              throws FactoryException
Creates a compound coordinate reference system from an ordered list of CoordinateReferenceSystem objects.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there.
elements - ordered array of CoordinateReferenceSystem objects.
Throws:
FactoryException - if the object creation failed.

createEngineeringCRS

@UML(identifier="createLocalCoordinateSystem",
     specification=OGC_01009)
EngineeringCRS createEngineeringCRS(Map<String,? extends Object> properties,
                                                                        EngineeringDatum datum,
                                                                        CoordinateSystem cs)
                                    throws FactoryException
Creates a engineering coordinate reference system.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there.
datum - Engineering datum to use in created CRS.
cs - The coordinate system for the created CRS.
Throws:
FactoryException - if the object creation failed.

createImageCRS

ImageCRS createImageCRS(Map<String,? extends Object> properties,
                        ImageDatum datum,
                        AffineCS cs)
                        throws FactoryException
Creates an image coordinate reference system.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there.
datum - Image datum to use in created CRS.
cs - The Cartesian or Oblique Cartesian coordinate system for the created CRS.
Throws:
FactoryException - if the object creation failed.

createTemporalCRS

TemporalCRS createTemporalCRS(Map<String,? extends Object> properties,
                              TemporalDatum datum,
                              TimeCS cs)
                              throws FactoryException
Creates a temporal coordinate reference system.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there.
datum - Temporal datum to use in created CRS.
cs - The Temporal coordinate system for the created CRS.
Throws:
FactoryException - if the object creation failed.

createVerticalCRS

@UML(identifier="createVerticalCoordinateSystem",
     specification=OGC_01009)
VerticalCRS createVerticalCRS(Map<String,? extends Object> properties,
                                                                  VerticalDatum datum,
                                                                  VerticalCS cs)
                              throws FactoryException
Creates a vertical coordinate reference system.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there.
datum - Vertical datum to use in created CRS.
cs - The Vertical coordinate system for the created CRS.
Throws:
FactoryException - if the object creation failed.

createGeocentricCRS

GeocentricCRS createGeocentricCRS(Map<String,? extends Object> properties,
                                  GeodeticDatum datum,
                                  CartesianCS cs)
                                  throws FactoryException
Creates a geocentric coordinate reference system from a cartesian coordinate system.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there.
datum - Geodetic datum to use in created CRS.
cs - The cartesian coordinate system for the created CRS.
Throws:
FactoryException - if the object creation failed.

createGeocentricCRS

GeocentricCRS createGeocentricCRS(Map<String,? extends Object> properties,
                                  GeodeticDatum datum,
                                  SphericalCS cs)
                                  throws FactoryException
Creates a geocentric coordinate reference system from a spherical coordinate system.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there.
datum - Geodetic datum to use in created CRS.
cs - The spherical coordinate system for the created CRS.
Throws:
FactoryException - if the object creation failed.

createGeographicCRS

@UML(identifier="createGeographicCoordinateSystem",
     specification=OGC_01009)
GeographicCRS createGeographicCRS(Map<String,? extends Object> properties,
                                                                      GeodeticDatum datum,
                                                                      EllipsoidalCS cs)
                                  throws FactoryException
Creates a geographic coordinate reference system. It could be Latitude/Longitude or Longitude/Latitude.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there.
datum - Geodetic datum to use in created CRS.
cs - The ellipsoidal coordinate system for the created CRS.
Throws:
FactoryException - if the object creation failed.

createDerivedCRS

@Deprecated
DerivedCRS createDerivedCRS(Map<String,? extends Object> properties,
                                       CoordinateReferenceSystem base,
                                       MathTransform baseToDerived,
                                       CoordinateSystem derivedCS)
                            throws FactoryException
Deprecated. Use the method with an OperationMethod argument instead.

Creates a derived coordinate reference system. If the transformation is an affine map performing a rotation, then any mixed axes must have identical units. For example, a (lat_deg, lon_deg, height_feet) system can be rotated in the (lat, lon) plane, since both affected axes are in degrees. But you should not rotate this coordinate system in any other plane.

It is the user's responsability to ensure that the baseToDerived transform performs all required steps, including unit conversions and change of axis order, if needed.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there. Properties for the Conversion object to be created can be specified with the "conversion." prefix added in front of property names (example: "conversion.name").
base - Coordinate reference system to base the derived CRS on.
baseToDerived - The transform from the base CRS to returned CRS.
derivedCS - The coordinate system for the derived CRS. The number of axes must match the target dimension of the transform baseToDerived.
Throws:
FactoryException - if the object creation failed.

createDerivedCRS

@UML(identifier="createFittedCoordinateSystem",
     specification=OGC_01009)
DerivedCRS createDerivedCRS(Map<String,? extends Object> properties,
                                                                OperationMethod method,
                                                                CoordinateReferenceSystem base,
                                                                MathTransform baseToDerived,
                                                                CoordinateSystem derivedCS)
                            throws FactoryException
Creates a derived coordinate reference system. If the transformation is an affine map performing a rotation, then any mixed axes must have identical units. For example, a (lat_deg, lon_deg, height_feet) system can be rotated in the (lat, lon) plane, since both affected axes are in degrees. But you should not rotate this coordinate system in any other plane.

It is the user's responsability to ensure that the baseToDerived transform performs all required steps, including unit conversions and change of axis order, if needed.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there. Properties for the Conversion object to be created can be specified with the "conversion." prefix added in front of property names (example: "conversion.name").
method - A description of the method for the conversion.
base - Coordinate reference system to base the derived CRS on. The number of axes must matches the source dimentions of the transform baseToDerived.
baseToDerived - The transform from the base CRS to the newly created CRS.
derivedCS - The coordinate system for the derived CRS. The number of axes must matches the target dimensions of the transform baseToDerived.
Throws:
FactoryException - if the object creation failed.

createProjectedCRS

@Deprecated
ProjectedCRS createProjectedCRS(Map<String,? extends Object> properties,
                                           GeographicCRS base,
                                           MathTransform baseToDerived,
                                           CartesianCS derivedCS)
                                throws FactoryException
Deprecated. Use the method with an OperationMethod argument instead.

Creates a projected coordinate reference system from a transform.

It is the user's responsability to ensure that the baseToDerived transform performs all required steps, including unit conversions and change of axis order, if needed.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there. Properties for the Projection object to be created can be specified with the "conversion." prefix added in front of property names (example: "conversion.name").
base - Geographic coordinate reference system to base projection on.
baseToDerived - The transform from the geographic to the projected CRS.
derivedCS - The coordinate system for the projected CRS.
Throws:
FactoryException - if the object creation failed.

createProjectedCRS

@UML(identifier="createProjectedCoordinateSystem",
     specification=OGC_01009)
ProjectedCRS createProjectedCRS(Map<String,? extends Object> properties,
                                                                    OperationMethod method,
                                                                    GeographicCRS base,
                                                                    MathTransform baseToDerived,
                                                                    CartesianCS derivedCS)
                                throws FactoryException
Creates a projected coordinate reference system from a transform.

It is the user's responsability to ensure that the baseToDerived transform performs all required steps, including unit conversions and change of axis order, if needed.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there. Properties for the Projection object to be created can be specified with the "conversion." prefix added in front of property names (example: "conversion.name").
method - A description of the method for the projection.
base - Geographic coordinate reference system to base the projection on. The number of axes must matches the source dimentions of the transform baseToDerived.
baseToDerived - The transform from the geographic to the projected CRS.
derivedCS - The coordinate system for the projected CRS. The number of axes must matches the target dimensions of the transform baseToDerived.
Throws:
FactoryException - if the object creation failed.

createProjectedCRS

@Deprecated
ProjectedCRS createProjectedCRS(Map<String,? extends Object> properties,
                                           GeographicCRS geoCRS,
                                           String method,
                                           GeneralParameterValue[] parameters,
                                           CartesianCS cs)
                                throws FactoryException
Deprecated. This method will be removed for the following reasons:

Creates a projected coordinate reference system from a projection name.

It is the user's responsability to ensure that the baseToDerived transform performs all required steps, including unit conversions and change of axis order, if needed.

Parameters:
properties - Name and other properties to give to the new object. Available properties are listed there. Properties for the Projection object to be created can be specified with the "conversion." prefix added in front of property names (example: "conversion.name").
geoCRS - Geographic coordinate reference system to base projection on.
method - The method name for the projection to be created (e.g. "Transverse_Mercator", "Mercator_1SP", "Oblique_Stereographic", etc.).
parameters - The parameter values to give to the projection. May includes "central_meridian", "latitude_of_origin", "scale_factor", "false_easting", "false_northing" and any other parameters specific to the projection.
cs - The coordinate system for the projected CRS.
Throws:
FactoryException - if the object creation failed.

createFromXML

@UML(identifier="createFromXML",
     specification=OGC_01009)
CoordinateReferenceSystem createFromXML(String xml)
                                        throws FactoryException
Creates a coordinate reference system object from a XML string.

Parameters:
xml - Coordinate reference system encoded in XML format.
Throws:
FactoryException - if the object creation failed.

createFromWKT

@UML(identifier="createFromWKT",
     specification=OGC_01009)
CoordinateReferenceSystem createFromWKT(String wkt)
                                        throws FactoryException
Creates a coordinate reference system object from a string. The definition for WKT is shown using Extended Backus Naur Form (EBNF).

Parameters:
wkt - Coordinate system encoded in Well-Known Text format.
Throws:
FactoryException - if the object creation failed.

GeoAPI 2.0
Build 2005-06-08

Symbols, terms and definitions
Copyright OpenGIS® Consortium