CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
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
}
 

Public Member Functions

 ODRX_DECLARE_MEMBERS (OdDbGeoCoordinateSystem)
 
 OdDbGeoCoordinateSystem ()
 
virtual ~OdDbGeoCoordinateSystem ()
 
virtual OdResult getId (OdString &coordSysId) const =0
 
virtual OdResult getEpsgCode (int &epsgCode) const =0
 
virtual OdResult getType (OdDbGeoCoordinateSystem::Type &type) const =0
 
virtual OdResult getDescription (OdString &coordSysDesc) const =0
 
virtual OdResult getUnit (OdDb::UnitsValue &unit) const =0
 
virtual OdResult getUnit (OdDbGeoCoordinateSystem::Unit &unit) const =0
 
virtual OdResult getUnitScale (double &unitScale) const =0
 
virtual OdResult getProjectionCode (OdDbGeoCoordinateSystem::ProjectionCode &prjCode) const =0
 
virtual OdResult getProjectionParameters (OdArray< OdDbGeoProjectionParameter > &prjParams, bool includeSpecialParams) const =0
 
virtual OdResult getDatum (OdDbGeoDatum &datum) const =0
 
virtual OdResult getEllipsoid (OdDbGeoEllipsoid &ellipsoid) const =0
 
virtual OdResult getOffset (OdGeVector2d &offsetVec) const =0
 
virtual OdResult getCartesianExtents (OdGeExtents2d &exts) const =0
 
virtual OdResult getGeodeticExtents (OdGeExtents2d &exts) const =0
 
virtual OdResult getXmlRepresentation (OdString &strXml) const =0
 
virtual OdResult getWktRepresentation (OdString &strWkt) 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 &coordSysIdOrFullDef, OdDbGeoCoordinateSystemPtr &pCoordSys)
 
static OdResult createAll (const OdGePoint3d &geoPt, OdArray< OdDbGeoCoordinateSystemPtr > &allCoordSys)
 
static OdResult createAll (OdArray< OdDbGeoCoordinateSystemPtr > &allCoordSys, const OdDbGeoCoordinateSystemCategory *pCategory=NULL)
 
static OdString unitNameToString (OdDbGeoCoordinateSystem::Unit eUnit)
 
- Static Public Member Functions inherited from OdRxObject
static OdRxObjectPtr cast (const OdRxObject *pointer)
 
static OdRxClassdesc ()
 

Detailed Description

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

<group OdDb_Classes>

Definition at line 121 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 140 of file OdDbGeoCoordinateSystem.h.

◆ Type

This enumeration indicates the type of a coordinate reference system.

Enumerator
kTypeUnknown 
kTypeArbitrary 
kTypeGeographic 
kTypeProjected 

Definition at line 129 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 219 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 coordSysIdOrFullDef,
OdDbGeoCoordinateSystemPtr pCoordSys 
)
static

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

Parameters
coordSysIdOrFullDef[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 geoPt,
OdArray< OdDbGeoCoordinateSystemPtr > &  allCoordSys 
)
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
geoPt[in] Geodetic point (Longitude, Latitude, Altitude).
allCoordSys[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 > &  allCoordSys,
const OdDbGeoCoordinateSystemCategory pCategory = NULL 
)
static

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

Parameters
allCoordSys[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[in/out] Datum value.
Returns
Returns eOK if successful, or an appropriate error code if not.

◆ getDescription()

virtual OdResult OdDbGeoCoordinateSystem::getDescription ( OdString coordSysDesc) const
pure virtual

Returns the description of this CRS.

Parameters
coordSysDesc[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 &  epsgCode) const
pure virtual

Returns this CRS's EPSG code.

Parameters
epsgCode[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 coordSysId) const
pure virtual

Returns the coordinate reference system's identifier string.

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

◆ getOffset()

virtual OdResult OdDbGeoCoordinateSystem::getOffset ( OdGeVector2d offsetVec) const
pure virtual

Returns the projection method parameter offset easting of this CRS.

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

◆ getProjectionCode()

virtual OdResult OdDbGeoCoordinateSystem::getProjectionCode ( OdDbGeoCoordinateSystem::ProjectionCode prjCode) const
pure virtual

Returns the projection method of this CRS.

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

◆ getProjectionParameters()

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

Returns the projection parameters of this CRS.

Parameters
prjParams[out] Projection parameters.
includeSpecialParams[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.

◆ getType()

virtual OdResult OdDbGeoCoordinateSystem::getType ( OdDbGeoCoordinateSystem::Type type) const
pure virtual

Returns this CRS's type.

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

◆ getUnit() [1/2]

virtual OdResult OdDbGeoCoordinateSystem::getUnit ( OdDb::UnitsValue unit) const
pure virtual

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

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

◆ getUnit() [2/2]

virtual OdResult OdDbGeoCoordinateSystem::getUnit ( OdDbGeoCoordinateSystem::Unit unit) const
pure virtual

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

Parameters
unit[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 &  unitScale) const
pure virtual

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

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

◆ getWktRepresentation()

virtual OdResult OdDbGeoCoordinateSystem::getWktRepresentation ( OdString strWkt) const
pure virtual

Returns the string in WKT format that represents this CRS.

Parameters
strWkt[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 strXml) const
pure virtual

Returns the string in XML format that represents this CRS.

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

◆ ODRX_DECLARE_MEMBERS()

OdDbGeoCoordinateSystem::ODRX_DECLARE_MEMBERS ( OdDbGeoCoordinateSystem  )

◆ unitNameToString()

static OdString OdDbGeoCoordinateSystem::unitNameToString ( OdDbGeoCoordinateSystem::Unit  eUnit)
static

Returns string representation for input unit type.

Parameters
eUnit[in] Unit type.
Returns
Returns string representation for input unit type.

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