QGIS API Documentation 3.41.0-Master (af5edcb665c)
|
Utility functions for working with the proj library. More...
#include <qgsprojutils.h>
Classes | |
struct | ProjPJDeleter |
Destroys Proj PJ objects. More... | |
Public Types | |
enum | IdentifyFlag { FlagMatchBoundCrsToUnderlyingSourceCrs = 1 << 0 } |
Flags controlling CRS identification behavior. More... | |
typedef QFlags< IdentifyFlag > | IdentifyFlags |
using | proj_pj_unique_ptr = std::unique_ptr< PJ, ProjPJDeleter > |
Scoped Proj PJ object. | |
Static Public Member Functions | |
static bool | axisOrderIsSwapped (const PJ *crs) |
Returns true if the given proj coordinate system uses requires y/x coordinate order instead of x/y. | |
static bool | coordinateOperationIsAvailable (const QString &projDef) |
Returns true if a coordinate operation (specified via proj string) is available. | |
static proj_pj_unique_ptr | createCompoundCrs (const PJ *horizontalCrs, const PJ *verticalCrs, QStringList *errors=nullptr) |
Given a PROJ horizontal and vertical CRS, attempt to create a compound CRS from them. | |
static proj_pj_unique_ptr | crsToDatumEnsemble (const PJ *crs) |
Given a PROJ crs, attempt to retrieve the datum ensemble from it. | |
static proj_pj_unique_ptr | crsToHorizontalCrs (const PJ *crs) |
Given a PROJ crs (which may be a compound or bound crs, or some other type), extract the horizontal crs from it. | |
static proj_pj_unique_ptr | crsToVerticalCrs (const PJ *crs) |
Given a PROJ crs (which may be a compound crs, or some other type), extract the vertical crs from it. | |
static QDate | epsgRegistryDate () |
Returns the EPSG registry database release date used by the proj library. | |
static QString | epsgRegistryVersion () |
Returns the EPSG registry database version used by the proj library (e.g. | |
static QDate | esriDatabaseDate () |
Returns the ESRI projection engine database release date used by the proj library. | |
static QString | esriDatabaseVersion () |
Returns the ESRI projection engine database version used by the proj library (e.g. | |
static QList< QgsDatumTransform::GridDetails > | gridsUsed (const QString &proj) |
Returns a list of grids used by the given proj string. | |
static bool | hasVerticalAxis (const PJ *crs) |
Returns true if a PROJ crs has a vertical axis. | |
static bool | identifyCrs (const PJ *crs, QString &authName, QString &authCode, IdentifyFlags flags=IdentifyFlags()) |
Attempts to identify a crs, matching it to a known authority and code within an acceptable level of tolerance. | |
static QDate | ignfDatabaseDate () |
Returns the IGNF database release date used by the proj library. | |
static QString | ignfDatabaseVersion () |
Returns the IGNF database version used by the proj library (e.g. | |
static bool | isDynamic (const PJ *crs) |
Returns true if the given proj coordinate system is a dynamic CRS. | |
static void | proj_collecting_logger (void *user_data, int level, const char *message) |
QGIS proj log function which collects errors to a QStringList. | |
static void | proj_logger (void *user_data, int level, const char *message) |
Default QGIS proj log function. | |
static int | projVersionMajor () |
Returns the proj library major version number. | |
static int | projVersionMinor () |
Returns the proj library minor version number. | |
static QStringList | searchPaths () |
Returns the current list of Proj file search paths. | |
static proj_pj_unique_ptr | unboundCrs (const PJ *crs) |
Given a PROJ crs (which may be a compound or bound crs, or some other type), ensure that it is not a bound CRS object. | |
static bool | usesAngularUnit (const QString &projDef) |
Returns true if the given proj coordinate system uses angular units. | |
Utility functions for working with the proj library.
Definition at line 44 of file qgsprojutils.h.
typedef QFlags< IdentifyFlag > QgsProjUtils::IdentifyFlags |
Definition at line 123 of file qgsprojutils.h.
using QgsProjUtils::proj_pj_unique_ptr = std::unique_ptr< PJ, ProjPJDeleter > |
Scoped Proj PJ object.
Definition at line 141 of file qgsprojutils.h.
Flags controlling CRS identification behavior.
Enumerator | |
---|---|
FlagMatchBoundCrsToUnderlyingSourceCrs | Allow matching a BoundCRS object to its underlying SourceCRS. |
Definition at line 119 of file qgsprojutils.h.
|
static |
Returns true
if the given proj coordinate system uses requires y/x coordinate order instead of x/y.
Definition at line 113 of file qgsprojutils.cpp.
|
static |
Returns true
if a coordinate operation (specified via proj string) is available.
Definition at line 468 of file qgsprojutils.cpp.
|
static |
Given a PROJ horizontal and vertical CRS, attempt to create a compound CRS from them.
Optionally, the errors argument can be set to a string list to collect errors reported by PROJ when attempting to create the compound CRS.
Definition at line 392 of file qgsprojutils.cpp.
|
static |
Given a PROJ crs, attempt to retrieve the datum ensemble from it.
QgsNotSupportedException | on QGIS builds based on PROJ 7 or earlier. |
Definition at line 338 of file qgsprojutils.cpp.
|
static |
Given a PROJ crs (which may be a compound or bound crs, or some other type), extract the horizontal crs from it.
If crs does not contain a horizontal CRS (i.e. it is a vertical CRS) nullptr
will be returned.
Definition at line 193 of file qgsprojutils.cpp.
|
static |
Given a PROJ crs (which may be a compound crs, or some other type), extract the vertical crs from it.
If crs does not contain a vertical CRS (i.e. it is a horizontal CRS) nullptr
will be returned.
Definition at line 227 of file qgsprojutils.cpp.
|
static |
Returns the EPSG registry database release date used by the proj library.
Definition at line 552 of file qgsprojutils.cpp.
|
static |
Returns the EPSG registry database version used by the proj library (e.g.
"v9.8.6").
Definition at line 545 of file qgsprojutils.cpp.
|
static |
Returns the ESRI projection engine database release date used by the proj library.
Definition at line 566 of file qgsprojutils.cpp.
|
static |
Returns the ESRI projection engine database version used by the proj library (e.g.
"ArcMap 10.8.0").
Definition at line 559 of file qgsprojutils.cpp.
|
static |
Returns a list of grids used by the given proj string.
Definition at line 481 of file qgsprojutils.cpp.
|
static |
Returns true
if a PROJ crs has a vertical axis.
Definition at line 259 of file qgsprojutils.cpp.
|
static |
Attempts to identify a crs, matching it to a known authority and code within an acceptable level of tolerance.
Returns true
if a matching authority and code was found.
Definition at line 414 of file qgsprojutils.cpp.
|
static |
Returns the IGNF database release date used by the proj library.
Definition at line 580 of file qgsprojutils.cpp.
|
static |
Returns the IGNF database version used by the proj library (e.g.
"3.1.0").
Definition at line 573 of file qgsprojutils.cpp.
|
static |
Returns true
if the given proj coordinate system is a dynamic CRS.
A dynamic CRS relies on a dynamic datum, that is a datum that is not plate-fixed.
Definition at line 149 of file qgsprojutils.cpp.
|
static |
QGIS proj log function which collects errors to a QStringList.
Definition at line 358 of file qgsprojutils.cpp.
|
static |
Default QGIS proj log function.
Uses QgsDebugError or QgsDebugMsgLevel to report errors in debug builds only.
Definition at line 366 of file qgsprojutils.cpp.
|
static |
Returns the proj library major version number.
Definition at line 535 of file qgsprojutils.cpp.
|
static |
Returns the proj library minor version number.
Definition at line 540 of file qgsprojutils.cpp.
|
static |
Returns the current list of Proj file search paths.
Definition at line 587 of file qgsprojutils.cpp.
|
static |
Given a PROJ crs (which may be a compound or bound crs, or some other type), ensure that it is not a bound CRS object.
Bound CRS objects will be returned as their source CRS, other types will be returned as a direct clone.
Definition at line 316 of file qgsprojutils.cpp.
|
static |
Returns true
if the given proj coordinate system uses angular units.
projDef must be a proj string defining a CRS object.
Definition at line 74 of file qgsprojutils.cpp.