@UML(identifier="CS_CoordinateSystemFactory", specification=OGC_01009) public interface CRSFactory extends ObjectFactory
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.
CSFactory
,
DatumFactory
Modifier and Type | Method and Description |
---|---|
CompoundCRS |
createCompoundCRS(Map<String,?> properties,
CoordinateReferenceSystem... elements)
Creates a compound coordinate reference system from an ordered
list of
CoordinateReferenceSystem objects. |
DerivedCRS |
createDerivedCRS(Map<String,?> properties,
CoordinateReferenceSystem baseCRS,
Conversion conversionFromBase,
CoordinateSystem derivedCS)
Creates a derived coordinate reference system.
|
EngineeringCRS |
createEngineeringCRS(Map<String,?> 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,?> properties,
GeodeticDatum datum,
CartesianCS cs)
Creates a geocentric coordinate reference system from a cartesian coordinate system.
|
GeocentricCRS |
createGeocentricCRS(Map<String,?> properties,
GeodeticDatum datum,
SphericalCS cs)
Creates a geocentric coordinate reference system from a spherical coordinate system.
|
GeographicCRS |
createGeographicCRS(Map<String,?> properties,
GeodeticDatum datum,
EllipsoidalCS cs)
Creates a geographic coordinate reference system.
|
ImageCRS |
createImageCRS(Map<String,?> properties,
ImageDatum datum,
AffineCS cs)
Creates an image coordinate reference system.
|
ProjectedCRS |
createProjectedCRS(Map<String,?> properties,
GeographicCRS baseCRS,
Conversion conversionFromBase,
CartesianCS derivedCS)
Creates a projected coordinate reference system from a defining conversion.
|
TemporalCRS |
createTemporalCRS(Map<String,?> properties,
TemporalDatum datum,
TimeCS cs)
Creates a temporal coordinate reference system.
|
VerticalCRS |
createVerticalCRS(Map<String,?> properties,
VerticalDatum datum,
VerticalCS cs)
Creates a vertical coordinate reference system.
|
@UML(identifier="createCompoundCoordinateSystem", specification=OGC_01009) CompoundCRS createCompoundCRS(Map<String,?> properties, CoordinateReferenceSystem... elements) throws FactoryException
CoordinateReferenceSystem
objects.properties
- Name and other properties to give to the new object.
Available properties are listed there.elements
- ordered array of CoordinateReferenceSystem
objects.FactoryException
- if the object creation failed.@UML(identifier="createLocalCoordinateSystem", specification=OGC_01009) EngineeringCRS createEngineeringCRS(Map<String,?> properties, EngineeringDatum datum, CoordinateSystem cs) throws FactoryException
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.FactoryException
- if the object creation failed.ImageCRS createImageCRS(Map<String,?> properties, ImageDatum datum, AffineCS cs) throws FactoryException
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.FactoryException
- if the object creation failed.TemporalCRS createTemporalCRS(Map<String,?> properties, TemporalDatum datum, TimeCS cs) throws FactoryException
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.FactoryException
- if the object creation failed.@UML(identifier="createVerticalCoordinateSystem", specification=OGC_01009) VerticalCRS createVerticalCRS(Map<String,?> properties, VerticalDatum datum, VerticalCS cs) throws FactoryException
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.FactoryException
- if the object creation failed.GeocentricCRS createGeocentricCRS(Map<String,?> properties, GeodeticDatum datum, CartesianCS cs) throws FactoryException
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.FactoryException
- if the object creation failed.GeocentricCRS createGeocentricCRS(Map<String,?> properties, GeodeticDatum datum, SphericalCS cs) throws FactoryException
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.FactoryException
- if the object creation failed.@UML(identifier="createGeographicCoordinateSystem", specification=OGC_01009) GeographicCRS createGeographicCRS(Map<String,?> properties, GeodeticDatum datum, EllipsoidalCS cs) throws FactoryException
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.FactoryException
- if the object creation failed.@UML(identifier="createFittedCoordinateSystem", specification=OGC_01009) DerivedCRS createDerivedCRS(Map<String,?> properties, CoordinateReferenceSystem baseCRS, Conversion conversionFromBase, CoordinateSystem derivedCS) throws FactoryException
The conversionFromBase
shall contains the parameter values required for the conversion. It may or may not contain the corresponding
"base to derived" transform, at user's choice. If
a transform is provided, this method may or may not use it at implementation choice.
Otherwise it shall creates the transform from the parameters.
It is the user's responsibility to ensure that the conversion performs all required steps,
including unit conversions and change of axis order, if needed. Note that this behavior is
different than createProjectedCRS
because transforms other than
cartographic projections are not standardized.
properties
- Name and other properties to give to the new object.
Available properties are listed there.baseCRS
- Coordinate reference system to base the projection on. The number of axes
must matches the source dimensions
of the conversion from base.conversionFromBase
- The
defining conversion.derivedCS
- The coordinate system for the derived CRS. The number of axes must matches
the target dimensions of the conversion
from base.FactoryException
- if the object creation failed.CoordinateOperationFactory.createDefiningConversion(Map, OperationMethod, ParameterValueGroup)
,
MathTransformFactory.createBaseToDerived(CoordinateReferenceSystem, ParameterValueGroup, CoordinateSystem)
@UML(identifier="createProjectedCoordinateSystem", specification=OGC_01009) ProjectedCRS createProjectedCRS(Map<String,?> properties, GeographicCRS baseCRS, Conversion conversionFromBase, CartesianCS derivedCS) throws FactoryException
conversionFromBase
shall contains the parameter values required for the projection. It may or may not contain the corresponding
"base to derived" transform, at user's choice. If
a transform is provided, this method may or may not use it at implementation choice.
Otherwise it shall creates the transform from the parameters.
The supplied conversion should not includes the operation steps for performing unit conversions and change of axis order; those operations shall be inferred by this constructor by some code equivalent to:
MathTransform baseToDerived = MathTransformFactory.createBaseToDerived(baseCRS, parameters, derivedCS)
This behavior is different than createDerivedCRS
because
parameterized transforms are standardized for projections. See the note on cartographic projections.properties
- Name and other properties to give to the new object.
Available properties are listed there.baseCRS
- Geographic coordinate reference system to base the projection on. The number
of axes must matches the source dimensions
of the conversion from base.conversionFromBase
- The
defining conversion.derivedCS
- The coordinate system for the projected CRS. The number of axes must matches
the target dimensions of the conversion
from base.FactoryException
- if the object creation failed.CoordinateOperationFactory.createDefiningConversion(Map, OperationMethod, ParameterValueGroup)
,
MathTransformFactory.createBaseToDerived(CoordinateReferenceSystem, ParameterValueGroup, CoordinateSystem)
@UML(identifier="createFromXML", specification=OGC_01009) CoordinateReferenceSystem createFromXML(String xml) throws FactoryException
xml
- Coordinate reference system encoded in XML format.FactoryException
- if the object creation failed.@UML(identifier="createFromWKT", specification=OGC_01009) CoordinateReferenceSystem createFromWKT(String wkt) throws FactoryException
wkt
- Coordinate system encoded in Well-Known Text format.FactoryException
- if the object creation failed.Copyright © 1994–2019 Open Geospatial Consortium. All rights reserved.