PROJ C++ API
Public Member Functions | List of all members
osgeo::proj::crs::CRS Class Referenceabstract

Abstract class modelling a coordinate reference system which is usually single but may be compound. More...

#include <crs.hpp>

Inheritance diagram for osgeo::proj::crs::CRS:
Inheritance graph
[legend]
Collaboration diagram for osgeo::proj::crs::CRS:
Collaboration graph
[legend]

Public Member Functions

GeodeticCRSPtr extractGeodeticCRS () const
 Return the GeodeticCRS of the CRS. More...
 
GeographicCRSPtr extractGeographicCRS () const
 Return the GeographicCRS of the CRS. More...
 
VerticalCRSPtr extractVerticalCRS () const
 Return the VerticalCRS of the CRS. More...
 
CRSNNPtr createBoundCRSToWGS84IfPossible (io::DatabaseContextPtr dbContext) const
 Returns potentially a BoundCRS, with a transformation to EPSG:4326, wrapping this CRS. More...
 
CRSNNPtr stripVerticalComponent () const
 Returns a CRS whose coordinate system does not contain a vertical component. More...
 
virtual CRSNNPtr shallowClone () const =0
 Return a shallow clone of this object.
 
const BoundCRSPtrcanonicalBoundCRS () PROJ_CONST_DECL
 Return the BoundCRS potentially attached to this CRS. More...
 
- Public Member Functions inherited from osgeo::proj::common::ObjectUsage
const std::vector< ObjectDomainNNPtr > & domains () PROJ_CONST_DECL
 Return the domains of the object.
 
bool isEquivalentTo (const util::IComparable *other, util::IComparable::Criterion criterion=util::IComparable::Criterion::STRICT) const override
 Returns whether an object is equivalent to another one. More...
 
- Public Member Functions inherited from osgeo::proj::common::IdentifiedObject
const metadata::IdentifierNNPtrname () PROJ_CONST_DECL
 Return the name of the object. More...
 
const std::string & nameStr () PROJ_CONST_DECL
 Return the name of the object. More...
 
const std::vector< metadata::IdentifierNNPtr > & identifiers () PROJ_CONST_DECL
 Return the identifier(s) of the object. More...
 
const std::vector< util::GenericNameNNPtr > & aliases () PROJ_CONST_DECL
 Return the alias(es) of the object.
 
const std::string & remarks () PROJ_CONST_DECL
 Return the remarks.
 
bool isDeprecated () PROJ_CONST_DECL
 Return whether the object is deprecated. More...
 
std::string alias () PROJ_CONST_DECL
 Return the (first) alias of the object as a string. More...
 
int getEPSGCode () PROJ_CONST_DECL
 Return the EPSG code. More...
 
bool isEPSG (int code) PROJ_CONST_DECL
 Return whether the object has a identifiers() in the EPSG code space.
 
- Public Member Functions inherited from osgeo::proj::io::IWKTExportable
std::string exportToWKT (WKTFormatter *formatter) const
 

Additional Inherited Members

- Public Types inherited from osgeo::proj::util::IComparable
enum  Criterion { Criterion::STRICT, Criterion::EQUIVALENT }
 Comparison criterion. More...
 
- Static Public Member Functions inherited from osgeo::proj::common::IdentifiedObject
static IdentifiedObjectNNPtr create (const util::PropertyMap &properties)
 Instanciate a new IdentifiedObject. More...
 
- Static Public Attributes inherited from osgeo::proj::common::ObjectUsage
static const std::string SCOPE_KEY
 Key to set the scope of a common::ObjectUsage. More...
 
static const std::string DOMAIN_OF_VALIDITY_KEY
 Key to set the domain of validity of a common::ObjectUsage. More...
 
static const std::string OBJECT_DOMAIN_KEY
 Key to set the object domain(s) of a common::ObjectUsage. More...
 
- Static Public Attributes inherited from osgeo::proj::common::IdentifiedObject
static const std::string NAME_KEY
 Key to set the name of a common::IdentifiedObject. More...
 
static const std::string IDENTIFIERS_KEY
 Key to set the identifier(s) of a common::IdentifiedObject. More...
 
static const std::string ALIAS_KEY
 Key to set the alias(es) of a common::IdentifiedObject. More...
 
static const std::string REMARKS_KEY
 Key to set the remarks of a common::IdentifiedObject. More...
 
static const std::string DEPRECATED_KEY
 Key to set the deprecation flag of a common::IdentifiedObject. More...
 

Detailed Description

Abstract class modelling a coordinate reference system which is usually single but may be compound.

Remarks
Implements CRS from ISO 19111:2018

Member Function Documentation

const BoundCRSPtr & osgeo::proj::crs::CRS::canonicalBoundCRS ( )

Return the BoundCRS potentially attached to this CRS.

In the case this method is called on a object returned by BoundCRS::baseCRSWithCanonicalBoundCRS(), this method will return this BoundCRS

Returns
a BoundCRSPtr, that might be null.
CRSNNPtr osgeo::proj::crs::CRS::createBoundCRSToWGS84IfPossible ( io::DatabaseContextPtr  dbContext) const

Returns potentially a BoundCRS, with a transformation to EPSG:4326, wrapping this CRS.

If no such BoundCRS is possible, the object will be returned.

The purpose of this method is to be able to format a PROJ.4 string with a +towgs84 parameter or a WKT1:GDAL string with a TOWGS node.

This method will fetch the GeographicCRS of this CRS and find a transformation to EPSG:4326 using the domain of the validity of the main CRS.

Returns
a CRS.
GeodeticCRSPtr osgeo::proj::crs::CRS::extractGeodeticCRS ( ) const

Return the GeodeticCRS of the CRS.

Returns the GeodeticCRS contained in a CRS. This works currently with input parameters of type GeodeticCRS or derived, ProjectedCRS, CompoundCRS or BoundCRS.

Returns
a GeodeticCRSPtr, that might be null.
GeographicCRSPtr osgeo::proj::crs::CRS::extractGeographicCRS ( ) const

Return the GeographicCRS of the CRS.

Returns the GeographicCRS contained in a CRS. This works currently with input parameters of type GeographicCRS or derived, ProjectedCRS, CompoundCRS or BoundCRS.

Returns
a GeographicCRSPtr, that might be null.
VerticalCRSPtr osgeo::proj::crs::CRS::extractVerticalCRS ( ) const

Return the VerticalCRS of the CRS.

Returns the VerticalCRS contained in a CRS. This works currently with input parameters of type VerticalCRS or derived, CompoundCRS or BoundCRS.

Returns
a VerticalCRSPtr, that might be null.
CRSNNPtr osgeo::proj::crs::CRS::stripVerticalComponent ( ) const

Returns a CRS whose coordinate system does not contain a vertical component.

Returns
a CRS.

The documentation for this class was generated from the following files: