Package org.geotools.referencing.crs
Class DefaultProjectedCRS
- All Implemented Interfaces:
Serializable,CoordinateReferenceSystem,GeneralDerivedCRS,ProjectedCRS,SingleCRS,IdentifiedObject,ReferenceSystem,PROJFormattable
public class DefaultProjectedCRS
extends AbstractDerivedCRS
implements ProjectedCRS, PROJFormattable
A 2D coordinate reference system used to approximate the shape of the earth on a planar surface. It is done in such a
way that the distortion that is inherent to the approximation is carefully controlled and known. Distortion
correction is commonly applied to calculated bearings and distances to produce values that are a close match to
actual field values.
| Used with CS type(s) |
|---|
Cartesian
|
- Since:
- 2.1
- Author:
- Martin Desruisseaux (IRD)
- See Also:
-
Field Summary
Fields inherited from class AbstractDerivedCRS
_COMPARING, baseCRS, CONVERSION_TYPE_KEY, conversionFromBaseFields inherited from class AbstractSingleCRS
datumFields inherited from class AbstractCRS
coordinateSystemFields inherited from class AbstractIdentifiedObject
EMPTY_ALIAS_ARRAY, EMPTY_IDENTIFIER_ARRAY, IDENTIFIER_COMPARATOR, NAME_COMPARATOR, REMARKS_COMPARATORFields inherited from class Formattable
SINGLE_LINEFields inherited from interface IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEYFields inherited from interface ReferenceSystem
DOMAIN_OF_VALIDITY_KEY, SCOPE_KEY -
Constructor Summary
ConstructorsConstructorDescriptionDefaultProjectedCRS(String name, GeographicCRS base, MathTransform baseToDerived, CartesianCS derivedCS) Constructs a projected CRS from a name.DefaultProjectedCRS(Map<String, ?> properties, Conversion conversionFromBase, GeographicCRS base, MathTransform baseToDerived, CartesianCS derivedCS) Constructs a projected CRS from a defining conversion.DefaultProjectedCRS(Map<String, Object> properties, GeographicCRS base, MathTransform baseToDerived, CartesianCS derivedCS) Constructs a projected CRS from a set of properties.DefaultProjectedCRS(Map<String, Object> properties, OperationMethod method, GeographicCRS base, MathTransform baseToDerived, CartesianCS derivedCS) Constructs a projected CRS from a set of properties.Constructs a new projected CRS with the same values than the specified one. -
Method Summary
Modifier and TypeMethodDescriptionintReturns a hash value for this projected CRS.formatPROJ(PROJFormatter formatter) Format the inner part of a PROJFormattable object.protected StringFormat the inner part of a Well Known Text (WKT) element.Returns the base coordinate reference system, which must be geographic.Returns the map projection from the base CRS to this CRS.Returns the coordinate system.getDatum()Returns the datum.Methods inherited from class AbstractDerivedCRS
equalsMethods inherited from class AbstractSingleCRS
getAxis, getDimensionMethods inherited from class AbstractCRS
distance, hashCodeMethods inherited from class AbstractReferenceSystem
getDomainOfValidity, getScopeMethods inherited from class AbstractIdentifiedObject
asSet, ensureAngularUnit, ensureLinearUnit, ensureNonNull, ensureNonNull, ensureTimeUnit, equals, equals, equals, equals, getAlias, getIdentifier, getIdentifier, getIdentifiers, getName, getName, getName, getProperties, getProperties, getRemarks, nameMatches, nameMatches, nameMatchesMethods inherited from class Formattable
cleanupThreadLocals, toString, toWKT, toWKT, toWKT, toWKTMethods inherited from interface IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKTMethods inherited from interface ReferenceSystem
getDomainOfValidity, getScope
-
Constructor Details
-
DefaultProjectedCRS
Constructs a new projected CRS with the same values than the specified one. This copy constructor provides a way to wrap an arbitrary implementation into a Geotools one or a user-defined one (as a subclass), usually in order to leverage some implementation-specific API. This constructor performs a shallow copy, i.e. the properties are not cloned.- Parameters:
crs- The coordinate reference system to copy.- Since:
- 2.2
-
DefaultProjectedCRS
public DefaultProjectedCRS(String name, GeographicCRS base, MathTransform baseToDerived, CartesianCS derivedCS) throws MismatchedDimensionException Constructs a projected CRS from a name. A default operation method is inferred from the math transform. This is a convenience constructor that is not garanteed to work reliably for non-GeoTools implementations. Use the constructor expecting a defining conversion for more determinist result.- Parameters:
name- The 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 transformbaseToDerived.- Throws:
MismatchedDimensionException- if the source and target dimension ofbaseToDeriveddon't match the dimension ofbaseandderivedCSrespectively.- Since:
- 2.5
-
DefaultProjectedCRS
public DefaultProjectedCRS(Map<String, Object> properties, GeographicCRS base, MathTransform baseToDerived, CartesianCS derivedCS) throws MismatchedDimensionExceptionConstructs a projected CRS from a set of properties. A default operation method is inferred from the math transform. This is a convenience constructor that is not garanteed to work reliably for non-GeoTools implementations. Use the constructor expecting a defining conversion for more determinist result.The properties are given unchanged to the super-class constructor.
- Parameters:
properties- Name and other properties to give to the new derived CRS object and to the underlying projection.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 transformbaseToDerived.- Throws:
MismatchedDimensionException- if the source and target dimension ofbaseToDeriveddon't match the dimension ofbaseandderivedCSrespectively.- Since:
- 2.5
-
DefaultProjectedCRS
public DefaultProjectedCRS(Map<String, Object> properties, OperationMethod method, GeographicCRS base, MathTransform baseToDerived, CartesianCS derivedCS) throws MismatchedDimensionExceptionConstructs a projected CRS from a set of properties. The properties are given unchanged to the super-class constructor.- Parameters:
properties- Name and other properties to give to the new derived CRS object and to the underlying projection.method- A description of the method for the conversion.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 transformbaseToDerived.- Throws:
MismatchedDimensionException- if the source and target dimension ofbaseToDeriveddon't match the dimension ofbaseandderivedCSrespectively.
-
DefaultProjectedCRS
public DefaultProjectedCRS(Map<String, ?> properties, Conversion conversionFromBase, GeographicCRS base, MathTransform baseToDerived, CartesianCS derivedCS) throws MismatchedDimensionExceptionConstructs a projected CRS from a defining conversion. The properties are given unchanged to the super-class constructor.- Parameters:
properties- Name and other properties to give to the new projected CRS object.conversionFromBase- The defining conversion.base- Coordinate reference system to base the projected CRS on.baseToDerived- The transform from the base CRS to returned CRS.derivedCS- The coordinate system for the projected CRS. The number of axes must match the target dimension of the transformbaseToDerived.- Throws:
MismatchedDimensionException- if the source and target dimension ofbaseToDeriveddon't match the dimension ofbaseandderivedCSrespectively.
-
-
Method Details
-
getCoordinateSystem
Returns the coordinate system.- Specified by:
getCoordinateSystemin interfaceCoordinateReferenceSystem- Specified by:
getCoordinateSystemin interfaceProjectedCRS- Specified by:
getCoordinateSystemin interfaceSingleCRS- Overrides:
getCoordinateSystemin classAbstractCRS- Returns:
- The coordinate system.
-
getDatum
Returns the datum.- Specified by:
getDatumin interfaceProjectedCRS- Specified by:
getDatumin interfaceSingleCRS- Overrides:
getDatumin classAbstractSingleCRS- Returns:
- The datum.
-
getBaseCRS
Returns the base coordinate reference system, which must be geographic.- Specified by:
getBaseCRSin interfaceGeneralDerivedCRS- Specified by:
getBaseCRSin interfaceProjectedCRS- Overrides:
getBaseCRSin classAbstractDerivedCRS- Returns:
- The base CRS.
-
getConversionFromBase
Returns the map projection from the base CRS to this CRS.- Specified by:
getConversionFromBasein interfaceGeneralDerivedCRS- Specified by:
getConversionFromBasein interfaceProjectedCRS- Overrides:
getConversionFromBasein classAbstractDerivedCRS- Returns:
- The map projection from base CRS to this CRS.
-
calculateHashCode
public int calculateHashCode()Returns a hash value for this projected CRS.- Overrides:
calculateHashCodein classAbstractDerivedCRS- Returns:
- The hash code value. This value doesn't need to be the same in past or future versions of this class.
-
formatWKT
Format the inner part of a Well Known Text (WKT) element.- Overrides:
formatWKTin classAbstractDerivedCRS- Parameters:
formatter- The formatter to use.- Returns:
- The name of the WKT element type, which is
"PROJCS". - See Also:
-
formatPROJ
Description copied from interface:PROJFormattableFormat the inner part of a PROJFormattable object.This method is automatically invoked by
PROJFormatter.append(PROJFormattable).For example for a element (
DefaultOperationMethod) of type Projection, the formatter will invoke this method to prepend the "+proj=" String for completing the PROJ String before appending the Projection Name (e.g. lcc for a Lambert Conformal Conic)- Specified by:
formatPROJin interfacePROJFormattable- Parameters:
formatter- The PROJFormatter to use.- Returns:
- The proj String of the PROJ element type if any. (e.g. +ellps= for named ellipsoids, +datum= for named datums).
-