FlowEngine 7.530
Photogrammetry Software Development Kit
Loading...
Searching...
No Matches
FlowEngine::ProjectedCoordinateSystemInterface Class Referenceabstract

Represents a Projected Coordinate System (PCS). More...

#include <ProjectedCoordinateSystemInterface.h>

Public Member Functions

virtual FLE_DLL ~ProjectedCoordinateSystemInterface ()=default
 
virtual FLE_DLL bool isValid () const =0
 
virtual FLE_DLL Result importFromWTK (ConstStringBuffer wtk)=0
 
virtual FLE_DLL Result loadFromWellKnownText (ConstStringBuffer wtk)=0
 Equivalent to importFromWTK.
 
virtual FLE_DLL Size getWellKnownTextLength () const =0
 
virtual FLE_DLL Result getWellKnownText (StringBuffer outWtk) const =0
 
virtual FLE_DLL Size getNameLength () const =0
 
virtual FLE_DLL Result getName (StringBuffer outName) const =0
 
virtual FLE_DLL Size getUnitNameLength () const =0
 Retrieves the length of this PCS unit.
 
virtual FLE_DLL Result getUnitName (StringBuffer outUnitName) const =0
 
virtual FLE_DLL Size getProjectionNameLength () const =0
 Retrieves the length of this PCS projection name.
 
virtual FLE_DLL Result getProjectionName (StringBuffer outProjectionName) const =0
 
virtual FLE_DLL void getProjectionParameters (double &outScaleFactor, double &outCentralMeridian, double &outLatitudeOfOrigin, double &outFalseEasting, double &outFalseNorthing) const =0
 Retrieves information about this PCS projection method parameters.
 
virtual FLE_DLL Size getSpheroidNameLength () const =0
 Retrieves the length of this PCS spheroid name.
 
virtual FLE_DLL Result getSpheroidName (StringBuffer outSpheroidName) const =0
 
virtual FLE_DLL void getSpheroidParameters (double &outInverseFlattening, double &outSemiMajorAxis) const =0
 
virtual FLE_DLL Size getPrimeMeridianNameLength () const =0
 
virtual FLE_DLL Result getPrimeMeridianName (StringBuffer outPrimeMeridianName) const =0
 
virtual FLE_DLL Size getGeodeticDatumNameLength () const =0
 
virtual FLE_DLL Result getGeodeticDatumName (StringBuffer outGeodeticDatumName) const =0
 
virtual FLE_DLL Size getEPSGCodeLength () const =0
 
virtual FLE_DLL Result getEPSGCode (StringBuffer outId) const =0
 
virtual FLE_DLL Result convertToGS (Point3 &inOutCoordinates) const =0
 
virtual FLE_DLL Result convertFromGS (Point3 &inOutCoordinates) const =0
 

Detailed Description

Represents a Projected Coordinate System (PCS).

To obtain a valid PCS, the instance must be initialized either with one of the import functions (e.g. ProjectedCoordinateSystemInterface::importFromWTK) or via one of ProjectedCoordinateSystemDB lookup methods (e.g. ProjectedCoordinateSystemDB::searchByEPSG)

Constructor & Destructor Documentation

◆ ~ProjectedCoordinateSystemInterface()

virtual FLE_DLL FlowEngine::ProjectedCoordinateSystemInterface::~ProjectedCoordinateSystemInterface ( )
virtualdefault

Member Function Documentation

◆ convertFromGS()

virtual FLE_DLL Result FlowEngine::ProjectedCoordinateSystemInterface::convertFromGS ( Point3 inOutCoordinates) const
pure virtual

Converts the supplied coordinates from geographic coordinates (lat, lon) to this PCS coordinates.

Parameters
[in,out]inOutCoordinatesthe 3d coordinates to convert.
Returns
One of the following result codes:

◆ convertToGS()

virtual FLE_DLL Result FlowEngine::ProjectedCoordinateSystemInterface::convertToGS ( Point3 inOutCoordinates) const
pure virtual

Converts the supplied coordinates from this PCS to geographic coordinates (lat, lon)

Parameters
[in,out]inOutCoordinatesthe 3d coordinates to convert.
Returns
One of the following result codes:

◆ getEPSGCode()

virtual FLE_DLL Result FlowEngine::ProjectedCoordinateSystemInterface::getEPSGCode ( StringBuffer  outId) const
pure virtual

Retrieves the European Petroleum Survey Group (EPSG) code of this Projected Coordinate System.

Returns
One of the following result codes:

◆ getEPSGCodeLength()

virtual FLE_DLL Size FlowEngine::ProjectedCoordinateSystemInterface::getEPSGCodeLength ( ) const
pure virtual
Returns
the European Petroleum Survey Group (EPSG) code length of this Projected Coordinate System. The code is usually a 4-5 digits string

◆ getGeodeticDatumName()

virtual FLE_DLL Result FlowEngine::ProjectedCoordinateSystemInterface::getGeodeticDatumName ( StringBuffer  outGeodeticDatumName) const
pure virtual
Returns
the name of this PCS geodetic datum.
Parameters
[in,out]outGeodeticDatumNamea string buffer that will receive the name of this PCS. the buffer must be big at least getGeodeticDatumNameLength().
Returns
One of the following result codes:

◆ getGeodeticDatumNameLength()

virtual FLE_DLL Size FlowEngine::ProjectedCoordinateSystemInterface::getGeodeticDatumNameLength ( ) const
pure virtual
Returns
the length of this PCS geodetic datum name.

◆ getName()

virtual FLE_DLL Result FlowEngine::ProjectedCoordinateSystemInterface::getName ( StringBuffer  outName) const
pure virtual

Get the name of this PCS.

Parameters
[in,out]outNamea string buffer that will receive the name of this PCS. the buffer must be big at least getNameLength().
Returns
One of the following result codes:

◆ getNameLength()

virtual FLE_DLL Size FlowEngine::ProjectedCoordinateSystemInterface::getNameLength ( ) const
pure virtual
Returns
the length of this PCS name.

◆ getPrimeMeridianName()

virtual FLE_DLL Result FlowEngine::ProjectedCoordinateSystemInterface::getPrimeMeridianName ( StringBuffer  outPrimeMeridianName) const
pure virtual
Returns
the name of this PCS prime meridian.
Parameters
[in,out]outPrimeMeridianNamea string buffer that will receive the name of this PCS. the buffer must be big at least getPrimeMeridianNameLength().
Returns
One of the following result codes:

◆ getPrimeMeridianNameLength()

virtual FLE_DLL Size FlowEngine::ProjectedCoordinateSystemInterface::getPrimeMeridianNameLength ( ) const
pure virtual
Returns
the length of this PCS prime meridian name.

◆ getProjectionName()

virtual FLE_DLL Result FlowEngine::ProjectedCoordinateSystemInterface::getProjectionName ( StringBuffer  outProjectionName) const
pure virtual

Retrieves the name of this PCS spheroid.

Parameters
[in,out]outProjectionNamea string buffer that will receive the name of this PCS projection. the buffer must be big at least getProjectionNameLength().
Returns
One of the following result codes:

◆ getProjectionNameLength()

virtual FLE_DLL Size FlowEngine::ProjectedCoordinateSystemInterface::getProjectionNameLength ( ) const
pure virtual

Retrieves the length of this PCS projection name.

◆ getProjectionParameters()

virtual FLE_DLL void FlowEngine::ProjectedCoordinateSystemInterface::getProjectionParameters ( double &  outScaleFactor,
double &  outCentralMeridian,
double &  outLatitudeOfOrigin,
double &  outFalseEasting,
double &  outFalseNorthing 
) const
pure virtual

Retrieves information about this PCS projection method parameters.

◆ getSpheroidName()

virtual FLE_DLL Result FlowEngine::ProjectedCoordinateSystemInterface::getSpheroidName ( StringBuffer  outSpheroidName) const
pure virtual

Retrieves the name of this PCS spheroid.

Parameters
[in,out]outSpheroidNamea string buffer that will receive the name of this PCS. the buffer must be big at least getSpheroidNameLength().
Returns
One of the following result codes:

◆ getSpheroidNameLength()

virtual FLE_DLL Size FlowEngine::ProjectedCoordinateSystemInterface::getSpheroidNameLength ( ) const
pure virtual

Retrieves the length of this PCS spheroid name.

◆ getSpheroidParameters()

virtual FLE_DLL void FlowEngine::ProjectedCoordinateSystemInterface::getSpheroidParameters ( double &  outInverseFlattening,
double &  outSemiMajorAxis 
) const
pure virtual

Retrieves information about this PCS spheroid parameters.

Precondition
This must be a valid PCS, i.e. isValid() must be true;

◆ getUnitName()

virtual FLE_DLL Result FlowEngine::ProjectedCoordinateSystemInterface::getUnitName ( StringBuffer  outUnitName) const
pure virtual

Retrieves the name of this PCS unit.

Parameters
[in,out]outUnitNamea string buffer that will receive the name of this PCS projection. the buffer must be big at least getUnitNameLength().
Returns
One of the following result codes:

◆ getUnitNameLength()

virtual FLE_DLL Size FlowEngine::ProjectedCoordinateSystemInterface::getUnitNameLength ( ) const
pure virtual

Retrieves the length of this PCS unit.

◆ getWellKnownText()

virtual FLE_DLL Result FlowEngine::ProjectedCoordinateSystemInterface::getWellKnownText ( StringBuffer  outWtk) const
pure virtual

Returns this PCS in a Well Known Text format (WTK) string.

Parameters
[out]outWtka string buffer that will receive the WTK string. Must be at least getWellKnownTextLength() long.
Returns
One of the following result codes:

◆ getWellKnownTextLength()

virtual FLE_DLL Size FlowEngine::ProjectedCoordinateSystemInterface::getWellKnownTextLength ( ) const
pure virtual

Returns the size necessary to receive the full WTK string of this PCS or 0 if this is not a valid PCS.

◆ importFromWTK()

virtual FLE_DLL Result FlowEngine::ProjectedCoordinateSystemInterface::importFromWTK ( ConstStringBuffer  wtk)
pure virtual

Initializes this PCS information from a Well Known Text (WTK) format.

Parameters
[in]wtka string buffer containing the WTK string.
Returns
One of the following result codes:

◆ isValid()

virtual FLE_DLL bool FlowEngine::ProjectedCoordinateSystemInterface::isValid ( ) const
pure virtual
Returns
true if this instance represent a valid Projected Coordinate System, false otherwise. Many methods of this class require that this instance is a valid PCS.

◆ loadFromWellKnownText()

virtual FLE_DLL Result FlowEngine::ProjectedCoordinateSystemInterface::loadFromWellKnownText ( ConstStringBuffer  wtk)
pure virtual

Equivalent to importFromWTK.