diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-02-20 18:04:35 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-02-20 20:32:17 +0100 |
| commit | 94578ea8ff38f4bc6b1f6f52b80ecf7359f5dfc2 (patch) | |
| tree | 1ef7f51339a7dc8c2e1040ddbf4d13aca6cc879a /src/iso19111/c_api.cpp | |
| parent | 374cc258510428fa3bfb9d8ca61ad7ac83a00db1 (diff) | |
| download | PROJ-94578ea8ff38f4bc6b1f6f52b80ecf7359f5dfc2.tar.gz PROJ-94578ea8ff38f4bc6b1f6f52b80ecf7359f5dfc2.zip | |
CoordinateOperation: add a hasBallparkTransformation() method that can be used to know if it includes a very approximative transformation term
Diffstat (limited to 'src/iso19111/c_api.cpp')
| -rw-r--r-- | src/iso19111/c_api.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/iso19111/c_api.cpp b/src/iso19111/c_api.cpp index b3f200fe..e731615c 100644 --- a/src/iso19111/c_api.cpp +++ b/src/iso19111/c_api.cpp @@ -5754,6 +5754,36 @@ int proj_coordoperation_is_instanciable(PJ_CONTEXT *ctx, // --------------------------------------------------------------------------- +/** \brief Return whether a coordinate operation has a "ballpark" + * transformation, + * that is a very approximate one, due to lack of more accurate transformations. + * + * Typically a null geographic offset between two horizontal datum, or a + * null vertical offset (or limited to unit changes) between two vertical + * datum. Errors of several tens to one hundred meters might be expected, + * compared to more accurate transformations. + * + * @param ctx PROJ context, or NULL for default context + * @param coordoperation Objet of type CoordinateOperation or derived classes + * (must not be NULL) + * @return TRUE or FALSE. + */ + +int proj_coordoperation_has_ballpark_transformation(PJ_CONTEXT *ctx, + const PJ *coordoperation) { + assert(coordoperation); + auto op = dynamic_cast<const CoordinateOperation *>( + coordoperation->iso_obj.get()); + if (!op) { + proj_log_error(ctx, __FUNCTION__, + "Object is not a CoordinateOperation"); + return 0; + } + return op->hasBallparkTransformation(); +} + +// --------------------------------------------------------------------------- + /** \brief Return the number of parameters of a SingleOperation * * @param ctx PROJ context, or NULL for default context |
