CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
OdDbGeoCoordinateSystem Class Referenceabstract

#include <OdDbGeoCoordinateSystem.h>

Inheritance diagram for OdDbGeoCoordinateSystem:
OdRxObject

Public Types

enum  Type { kTypeUnknown = 0 , kTypeArbitrary = 1 , kTypeGeographic = 2 , kTypeProjected = 3 }
 
enum  ProjectionCode {
  kProjectionCodeUnknown = 0 , kProjectionCodeAlber = 4 , kProjectionCodeAzede = 59 , kProjectionCodeAzmea = 11 ,
  kProjectionCodeAzmed = 7 , kProjectionCodeBipolar = 31 , kProjectionCodeBonne = 24 , kProjectionCodeCassini = 22 ,
  kProjectionCodeEckert4 = 25 , kProjectionCodeEckert6 = 26 , kProjectionCodeEdcnc = 12 , kProjectionCodeEdcyl = 20 ,
  kProjectionCodeGaussK = 46 , kProjectionCodeGnomonic = 19 , kProjectionCodeGoode = 28 , kProjectionCodeHom1uv = 1281 ,
  kProjectionCodeHom1xy = 1282 , kProjectionCodeHom2uv = 1283 , kProjectionCodeHom2xy = 1284 , kProjectionCodeKrovak = 47 ,
  kProjectionCodeKrvk95 = 51 , kProjectionCodeLL = 1 , kProjectionCodeLm1sp = 36 , kProjectionCodeLm2sp = 37 ,
  kProjectionCodeLmblg = 38 , kProjectionCodeLmtan = 8 , kProjectionCodeMiller = 13 , kProjectionCodeMndotl = 41 ,
  kProjectionCodeMndott = 42 , kProjectionCodeModpc = 10 , kProjectionCodeMollweid = 27 , kProjectionCodeMrcat = 6 ,
  kProjectionCodeMrcatK = 49 , kProjectionCodeMstero = 15 , kProjectionCodeNeacyl = 29 , kProjectionCodeNerth = 55 ,
  kProjectionCodeNzealand = 16 , kProjectionCodeOblqM = 5 , kProjectionCodeObqcyl = 56 , kProjectionCodeOrtho = 18 ,
  kProjectionCodeOstn02 = 60 , kProjectionCodeOstn97 = 58 , kProjectionCodeOstro = 34 , kProjectionCodePlycn = 9 ,
  kProjectionCodePstro = 33 , kProjectionCodePstrosl = 53 , kProjectionCodeRskew = 1285 , kProjectionCodeRskewc = 1286 ,
  kProjectionCodeRskewo = 1287 , kProjectionCodeRobinson = 23 , kProjectionCodeSinus = 17 , kProjectionCodeSotrm = 43 ,
  kProjectionCodeSstro = 35 , kProjectionCodeSwiss = 32 , kProjectionCodeSys34 = 57 , kProjectionCodeSys34_99 = 61 ,
  kProjectionCodeTeacyl = 30 , kProjectionCodeTm = 3 , kProjectionCodeTrmeraf = 54 , kProjectionCodeTrmrkrg = 62 ,
  kProjectionCodeTrmrs = 45 , kProjectionCodeVdgrntn = 21 , kProjectionCodeWccsl = 39 , kProjectionCodeWccst = 40 ,
  kProjectionCodeUtm = 44 , kProjectionCodeWinkl = 63 , kProjectionCodeNrthsrt = 64 , kProjectionCodeLmbrtaf = 65 ,
  kProjectionCodeSys34_01 = 66 , kProjectionCodeEdcylE = 67 , kProjectionCodePlateCarree = 68 , kProjectionCodePvMercator = 69 ,
  kProjectionCodeLmMich = 70
}
 
enum  Unit {
  kUnitUnknown = 0 , kUnitMeter = 1 , kUnitFoot = 2 , kUnitInch = 3 ,
  kUnitIFoot = 4 , kUnitClarkeFoot = 5 , kUnitIInch = 6 , kUnitCentimeter = 7 ,
  kUnitKilometer = 8 , kUnitYard = 9 , kUnitSearsYard = 10 , kUnitMile = 11 ,
  kUnitIYard = 12 , kUnitIMile = 13 , kUnitKnot = 14 , kUnitNautM = 15 ,
  kUnitLat66 = 16 , kUnitLat83 = 17 , kUnitDecimeter = 18 , kUnitMillimeter = 19 ,
  kUnitDekameter = 20 , kUnitHectometer = 21 , kUnitGermanMeter = 22 , kUnitCaGrid = 23 ,
  kUnitClarkeChain = 24 , kUnitGunterChain = 25 , kUnitBenoitChain = 26 , kUnitSearsChain = 27 ,
  kUnitClarkeLink = 28 , kUnitGunterLink = 29 , kUnitBenoitLink = 30 , kUnitSearsLink = 31 ,
  kUnitRod = 32 , kUnitPerch = 33 , kUnitPole = 34 , kUnitFurlong = 35 ,
  kUnitRood = 36 , kUnitCapeFoot = 37 , kUnitBrealey = 38 , kUnitSearsFoot = 39 ,
  kUnitGoldCoastFoot = 40 , kUnitMicroInch = 41 , kUnitIndianYard = 42 , kUnitIndianFoot = 43 ,
  kUnitIndianFt37 = 44 , kUnitIndianFt62 = 45 , kUnitIndianFt75 = 46 , kUnitIndianYd37 = 47 ,
  kUnitDecameter = 48 , kUnitInternationalChain = 49 , kUnitInternationalLink = 50 , kUnitBrFootTrunc = 51 ,
  kUnitBrChainTrunc = 52 , kUnitBrLinkTrunc = 53 , kUnitDegree = 1001 , kUnitGrad = 1002 ,
  kUnitGrade = 1003 , kUnitMapInfo = 1004 , kUnitMil = 1005 , kUnitMinute = 1006 ,
  kUnitRadian = 1007 , kUnitSecond = 1008 , kUnitDecisec = 1009 , kUnitCentisec = 1010 ,
  kUnitMillisec = 1011
}
 
enum  StatusType { kStatusTypeOutOfDate = 1 , kStatusTypeUpToDate = 2 , kStatusTypeUserDefined = 3 }
 

Public Member Functions

 OdDbGeoCoordinateSystem ()
 
virtual ~OdDbGeoCoordinateSystem ()
 
virtual OdResult getId (OdString &sCoordSysId) const =0
 
virtual OdResult getEpsgCode (int &nEpsgCode) const =0
 
virtual OdResult getType (OdDbGeoCoordinateSystem::Type &eType) const =0
 
virtual OdResult getDescription (OdString &sDescription) const =0
 
virtual OdResult getSource (OdString &sSource) const =0
 
virtual OdResult getUnit (OdDb::UnitsValue &eUnitsValue) const =0
 
virtual OdResult getUnit (OdDbGeoCoordinateSystem::Unit &eUnit) const =0
 
virtual OdResult getUnit (OdString &sUnit) const =0
 
virtual OdResult getUnitScale (double &dUnitScale) const =0
 
virtual OdResult getProjectionCode (OdDbGeoCoordinateSystem::ProjectionCode &ePrjCode) const =0
 
virtual OdResult getProjectionParameters (OdArray< OdDbGeoProjectionParameter > &arrPrjParams, bool bIncludeSpecialParams) const =0
 
virtual OdResult getDatum (OdDbGeoDatum &datum) const =0
 
virtual OdResult getDatumId (OdString &sDatumId) const =0
 
virtual OdResult getEllipsoid (OdDbGeoEllipsoid &ellipsoid) const =0
 
virtual OdResult getOffset (OdGeVector2d &vOffset) const =0
 
virtual OdResult getCartesianExtents (OdGeExtents2d &exts) const =0
 
virtual OdResult getGeodeticExtents (OdGeExtents2d &exts) const =0
 
virtual OdResult getXmlRepresentation (OdString &sXml) const =0
 
virtual OdResult getWktRepresentation (OdString &sWkt) const =0
 
virtual OdResult getStatus (OdDbGeoCoordinateSystem::StatusType &eStatusType) const =0
 
- Public Member Functions inherited from OdRxObject
 ODRX_HEAP_OPERATORS ()
 
 OdRxObject ()
 
virtual ~OdRxObject ()
 
virtual OdRxObjectqueryX (const OdRxClass *pClass) const
 
virtual OdRxObjectx (const OdRxClass *pClass) const
 
virtual OdRxClassisA () const
 
virtual void addRef ()=0
 
virtual void release ()=0
 
virtual long numRefs () const
 
bool isKindOf (const OdRxClass *pClass) const
 
virtual OdRxObjectPtr clone () const
 
virtual void copyFrom (const OdRxObject *pSource)
 
virtual OdRx::Ordering comparedTo (const OdRxObject *pOther) const
 
virtual bool isEqualTo (const OdRxObject *pOther) const
 

Static Public Member Functions

static OdResult create (const OdString &sCoordSysIdOrFullDef, OdDbGeoCoordinateSystemPtr &pCoordSys)
 
static OdResult createAll (const OdGePoint3d &ptGeo, OdArray< OdDbGeoCoordinateSystemPtr > &arrCoordSys)
 
static OdResult createAll (OdArray< OdDbGeoCoordinateSystemPtr > &arrCoordSys, const OdDbGeoCoordinateSystemCategory *pCategory=NULL)
 
- Static Public Member Functions inherited from OdRxObject
static OdRxObjectPtr cast (const OdRxObject *pointer)
 
static OdRxClassdesc ()
 
static void rxInit ()
 
static void rxUninit ()
 

Detailed Description

This abstract class represents a coordinate reference system (CRS) definition.

<group OdDb_Classes>

Definition at line 166 of file OdDbGeoCoordinateSystem.h.

Member Enumeration Documentation

◆ ProjectionCode

This enumeration represents the coordinate reference system projection method types.

Enumerator
kProjectionCodeUnknown 
kProjectionCodeAlber 
kProjectionCodeAzede 
kProjectionCodeAzmea 
kProjectionCodeAzmed 
kProjectionCodeBipolar 
kProjectionCodeBonne 
kProjectionCodeCassini 
kProjectionCodeEckert4 
kProjectionCodeEckert6 
kProjectionCodeEdcnc 
kProjectionCodeEdcyl 
kProjectionCodeGaussK 
kProjectionCodeGnomonic 
kProjectionCodeGoode 
kProjectionCodeHom1uv 
kProjectionCodeHom1xy 
kProjectionCodeHom2uv 
kProjectionCodeHom2xy 
kProjectionCodeKrovak 
kProjectionCodeKrvk95 
kProjectionCodeLL 
kProjectionCodeLm1sp 
kProjectionCodeLm2sp 
kProjectionCodeLmblg 
kProjectionCodeLmtan 
kProjectionCodeMiller 
kProjectionCodeMndotl 
kProjectionCodeMndott 
kProjectionCodeModpc 
kProjectionCodeMollweid 
kProjectionCodeMrcat 
kProjectionCodeMrcatK 
kProjectionCodeMstero 
kProjectionCodeNeacyl 
kProjectionCodeNerth 
kProjectionCodeNzealand 
kProjectionCodeOblqM 
kProjectionCodeObqcyl 
kProjectionCodeOrtho 
kProjectionCodeOstn02 
kProjectionCodeOstn97 
kProjectionCodeOstro 
kProjectionCodePlycn 
kProjectionCodePstro 
kProjectionCodePstrosl 
kProjectionCodeRskew 
kProjectionCodeRskewc 
kProjectionCodeRskewo 
kProjectionCodeRobinson 
kProjectionCodeSinus 
kProjectionCodeSotrm 
kProjectionCodeSstro 
kProjectionCodeSwiss 
kProjectionCodeSys34 
kProjectionCodeSys34_99 
kProjectionCodeTeacyl 
kProjectionCodeTm 
kProjectionCodeTrmeraf 
kProjectionCodeTrmrkrg 
kProjectionCodeTrmrs 
kProjectionCodeVdgrntn 
kProjectionCodeWccsl 
kProjectionCodeWccst 
kProjectionCodeUtm 
kProjectionCodeWinkl 
kProjectionCodeNrthsrt 
kProjectionCodeLmbrtaf 
kProjectionCodeSys34_01 
kProjectionCodeEdcylE 
kProjectionCodePlateCarree 
kProjectionCodePvMercator 
kProjectionCodeLmMich 

Definition at line 184 of file OdDbGeoCoordinateSystem.h.

◆ StatusType

This enumeration represents the status of a coordinate reference system.

Enumerator
kStatusTypeOutOfDate 
kStatusTypeUpToDate 
kStatusTypeUserDefined 

Definition at line 336 of file OdDbGeoCoordinateSystem.h.

◆ Type

This enumeration indicates the type of a coordinate reference system.

Enumerator
kTypeUnknown 
kTypeArbitrary 
kTypeGeographic 
kTypeProjected 

Definition at line 173 of file OdDbGeoCoordinateSystem.h.

◆ Unit

This enumeration represents the linear or angular unit.

Enumerator
kUnitUnknown 
kUnitMeter 
kUnitFoot 
kUnitInch 
kUnitIFoot 
kUnitClarkeFoot 
kUnitIInch 
kUnitCentimeter 
kUnitKilometer 
kUnitYard 
kUnitSearsYard 
kUnitMile 
kUnitIYard 
kUnitIMile 
kUnitKnot 
kUnitNautM 
kUnitLat66 
kUnitLat83 
kUnitDecimeter 
kUnitMillimeter 
kUnitDekameter 
kUnitHectometer 
kUnitGermanMeter 
kUnitCaGrid 
kUnitClarkeChain 
kUnitGunterChain 
kUnitBenoitChain 
kUnitSearsChain 
kUnitClarkeLink 
kUnitGunterLink 
kUnitBenoitLink 
kUnitSearsLink 
kUnitRod 
kUnitPerch 
kUnitPole 
kUnitFurlong 
kUnitRood 
kUnitCapeFoot 
kUnitBrealey 
kUnitSearsFoot 
kUnitGoldCoastFoot 
kUnitMicroInch 
kUnitIndianYard 
kUnitIndianFoot 
kUnitIndianFt37 
kUnitIndianFt62 
kUnitIndianFt75 
kUnitIndianYd37 
kUnitDecameter 
kUnitInternationalChain 
kUnitInternationalLink 
kUnitBrFootTrunc 
kUnitBrChainTrunc 
kUnitBrLinkTrunc 
kUnitDegree 
kUnitGrad 
kUnitGrade 
kUnitMapInfo 
kUnitMil 
kUnitMinute 
kUnitRadian 
kUnitSecond 
kUnitDecisec 
kUnitCentisec 
kUnitMillisec 

Definition at line 264 of file OdDbGeoCoordinateSystem.h.

Constructor & Destructor Documentation

◆ OdDbGeoCoordinateSystem()

OdDbGeoCoordinateSystem::OdDbGeoCoordinateSystem ( )

Default constructor.

◆ ~OdDbGeoCoordinateSystem()

virtual OdDbGeoCoordinateSystem::~OdDbGeoCoordinateSystem ( )
virtual

Virtual destructor.

Member Function Documentation

◆ create()

static OdResult OdDbGeoCoordinateSystem::create ( const OdString & sCoordSysIdOrFullDef,
OdDbGeoCoordinateSystemPtr & pCoordSys )
static

Creates and returns a new OdDbGeoCoordinateSystem object from the current virtual catalog.

Parameters
sCoordSysIdOrFullDef[in] ID, WKT or XML representation of the CRS definition to load.
pCoordSys[out] New CRS.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ createAll() [1/2]

static OdResult OdDbGeoCoordinateSystem::createAll ( const OdGePoint3d & ptGeo,
OdArray< OdDbGeoCoordinateSystemPtr > & arrCoordSys )
static

Creates and returns a new OdDbGeoCoordinateSystem object for every existing, persistent projected CRS definition from the current virtual catalog when the passed in geodetic point is within the geodetic extents of the CRS.

Parameters
ptGeo[in] Geodetic point (Longitude, Latitude, Altitude).
arrCoordSys[out] Array of pointers to the new CRS objects.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ createAll() [2/2]

static OdResult OdDbGeoCoordinateSystem::createAll ( OdArray< OdDbGeoCoordinateSystemPtr > & arrCoordSys,
const OdDbGeoCoordinateSystemCategory * pCategory = NULL )
static

Creates and returns a new OdDbGeoCoordinateSystem object for every existing, persistent CRS definition from the specified catalog.

Parameters
arrCoordSys[out] Array of pointers to the new CRS objects.
pCategory[in] Category.
Returns
Returns eOK if successful, or an appropriate error code if not.
Remarks
If pCategory is NULL, all existing and persistent CRS definitions are returned.

◆ getCartesianExtents()

virtual OdResult OdDbGeoCoordinateSystem::getCartesianExtents ( OdGeExtents2d & exts) const
pure virtual

Returns the cartesian extents of this CRS.

Parameters
exts[out] Extents.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ getDatum()

virtual OdResult OdDbGeoCoordinateSystem::getDatum ( OdDbGeoDatum & datum) const
pure virtual

Returns the datum of this CRS.

Parameters
datum[out] Datum value.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ getDatumId()

virtual OdResult OdDbGeoCoordinateSystem::getDatumId ( OdString & sDatumId) const
pure virtual

Returns the datum id, if any, this CRS is reference to.

Parameters
sDatumId[out] Datum id.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ getDescription()

virtual OdResult OdDbGeoCoordinateSystem::getDescription ( OdString & sDescription) const
pure virtual

Returns the description of this CRS.

Parameters
sDescription[out] CRS's description.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ getEllipsoid()

virtual OdResult OdDbGeoCoordinateSystem::getEllipsoid ( OdDbGeoEllipsoid & ellipsoid) const
pure virtual

Returns the ellipsoid related to this CRS.

Parameters
ellipsoid[out] Ellipsoid.
Returns
Returns eOK if successful, or an appropriate error code if not.
Remarks
If the CRS contains an ellipsoid, it will not be geodetic and the datum reference will not have a value.

◆ getEpsgCode()

virtual OdResult OdDbGeoCoordinateSystem::getEpsgCode ( int & nEpsgCode) const
pure virtual

Returns this CRS's EPSG code.

Parameters
nEpsgCode[out] EPSG code.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ getGeodeticExtents()

virtual OdResult OdDbGeoCoordinateSystem::getGeodeticExtents ( OdGeExtents2d & exts) const
pure virtual

Returns the geodetic extents of this CRS, the range of longitude and latitude.

Parameters
exts[out] Extents.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ getId()

virtual OdResult OdDbGeoCoordinateSystem::getId ( OdString & sCoordSysId) const
pure virtual

Returns the coordinate reference system's identifier string.

Parameters
sCoordSysId[out] Coordinate reference system's identifier.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ getOffset()

virtual OdResult OdDbGeoCoordinateSystem::getOffset ( OdGeVector2d & vOffset) const
pure virtual

Returns the projection method parameter offset easting of this CRS.

Parameters
vOffset[out] Offset vector.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ getProjectionCode()

virtual OdResult OdDbGeoCoordinateSystem::getProjectionCode ( OdDbGeoCoordinateSystem::ProjectionCode & ePrjCode) const
pure virtual

Returns the projection method of this CRS.

Parameters
ePrjCode[out] Projection method.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ getProjectionParameters()

virtual OdResult OdDbGeoCoordinateSystem::getProjectionParameters ( OdArray< OdDbGeoProjectionParameter > & arrPrjParams,
bool bIncludeSpecialParams ) const
pure virtual

Returns the projection parameters of this CRS.

Parameters
arrPrjParams[out] Projection parameters.
bIncludeSpecialParams[in] Boolean flag that indicates if the special projection parameters should be counted.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ getSource()

virtual OdResult OdDbGeoCoordinateSystem::getSource ( OdString & sSource) const
pure virtual

Returns the source of this CRS.

Parameters
sSource[out] CRS's source.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ getStatus()

virtual OdResult OdDbGeoCoordinateSystem::getStatus ( OdDbGeoCoordinateSystem::StatusType & eStatusType) const
pure virtual

Returns the status of the coordinate system.

Parameters
eStatusType[out] status.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ getType()

virtual OdResult OdDbGeoCoordinateSystem::getType ( OdDbGeoCoordinateSystem::Type & eType) const
pure virtual

Returns this CRS's type.

Parameters
eType[out] CRS's type.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ getUnit() [1/3]

virtual OdResult OdDbGeoCoordinateSystem::getUnit ( OdDb::UnitsValue & eUnitsValue) const
pure virtual

Returns the unit of the coordinate system axis of this CRS.

Parameters
eUnitsValue[out] Unit value.
Returns
Returns eOK if successful, or an appropriate error code if not.
Remarks
All axis contains the same unit.

◆ getUnit() [2/3]

virtual OdResult OdDbGeoCoordinateSystem::getUnit ( OdDbGeoCoordinateSystem::Unit & eUnit) const
pure virtual

Returns the unit of the coordinate system axis of this CRS.

Parameters
eUnit[out] Unit value.
Returns
Returns eOK if successful, or an appropriate error code if not.
Remarks
Each axis contains the same unit.

◆ getUnit() [3/3]

virtual OdResult OdDbGeoCoordinateSystem::getUnit ( OdString & sUnit) const
pure virtual

Returns the unit of the coordinate system axis of this CRS.

Parameters
sUnit[out] Unit value.
Returns
Returns eOK if successful, or an appropriate error code if not.
Remarks
Each axis contains the same unit.

◆ getUnitScale()

virtual OdResult OdDbGeoCoordinateSystem::getUnitScale ( double & dUnitScale) const
pure virtual

Returns the factor that is used for multiplying the length units of this CRS for calculating the equivalent in meters.

Parameters
dUnitScale[out] Scale factor.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ getWktRepresentation()

virtual OdResult OdDbGeoCoordinateSystem::getWktRepresentation ( OdString & sWkt) const
pure virtual

Returns the string in WKT format that represents this CRS.

Parameters
sWkt[out] CRS's representation in WKT format.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ getXmlRepresentation()

virtual OdResult OdDbGeoCoordinateSystem::getXmlRepresentation ( OdString & sXml) const
pure virtual

Returns the string in XML format that represents this CRS.

Parameters
sXml[out] CRS's representation in XML format.
Returns
Returns eOK if successful, or an appropriate error code if not.

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