aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/iso19111/c_api.cpp21
-rw-r--r--src/proj.h3
2 files changed, 24 insertions, 0 deletions
diff --git a/src/iso19111/c_api.cpp b/src/iso19111/c_api.cpp
index 79147ae8..ba1b3324 100644
--- a/src/iso19111/c_api.cpp
+++ b/src/iso19111/c_api.cpp
@@ -915,6 +915,18 @@ convertPJObjectTypeToObjectType(PJ_TYPE type, bool &valid) {
cppType = AuthorityFactory::ObjectType::DATUM;
break;
+ case PJ_TYPE_TEMPORAL_DATUM:
+ valid = false;
+ break;
+
+ case PJ_TYPE_ENGINEERING_DATUM:
+ valid = false;
+ break;
+
+ case PJ_TYPE_PARAMETRIC_DATUM:
+ valid = false;
+ break;
+
case PJ_TYPE_CRS:
cppType = AuthorityFactory::ObjectType::CRS;
break;
@@ -1084,6 +1096,15 @@ PJ_TYPE proj_get_type(const PJ *obj) {
if (dynamic_cast<DatumEnsemble *>(ptr)) {
return PJ_TYPE_DATUM_ENSEMBLE;
}
+ if (dynamic_cast<TemporalDatum *>(ptr)) {
+ return PJ_TYPE_TEMPORAL_DATUM;
+ }
+ if (dynamic_cast<EngineeringDatum *>(ptr)) {
+ return PJ_TYPE_ENGINEERING_DATUM;
+ }
+ if (dynamic_cast<ParametricDatum *>(ptr)) {
+ return PJ_TYPE_PARAMETRIC_DATUM;
+ }
{
auto crs = dynamic_cast<GeographicCRS *>(ptr);
diff --git a/src/proj.h b/src/proj.h
index 330ab01e..2acaab82 100644
--- a/src/proj.h
+++ b/src/proj.h
@@ -710,6 +710,9 @@ typedef enum
PJ_TYPE_VERTICAL_REFERENCE_FRAME,
PJ_TYPE_DYNAMIC_VERTICAL_REFERENCE_FRAME,
PJ_TYPE_DATUM_ENSEMBLE,
+ PJ_TYPE_TEMPORAL_DATUM,
+ PJ_TYPE_ENGINEERING_DATUM,
+ PJ_TYPE_PARAMETRIC_DATUM,
/** Abstract type, not returned by proj_get_type() */
PJ_TYPE_CRS,