diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-08-08 20:04:20 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-08-09 13:22:25 +0200 |
| commit | 89f2cc7ec4178a369e73e9cd115a2552a55d870a (patch) | |
| tree | b5a96d4248a0bb866477ed3c865fdb5648dc0a06 /src/iso19111/coordinateoperation.cpp | |
| parent | ec49c9cd0aa9de24623920b8de226daf05a0e90f (diff) | |
| download | PROJ-89f2cc7ec4178a369e73e9cd115a2552a55d870a.tar.gz PROJ-89f2cc7ec4178a369e73e9cd115a2552a55d870a.zip | |
PROJJSON export: use more compact form
Diffstat (limited to 'src/iso19111/coordinateoperation.cpp')
| -rw-r--r-- | src/iso19111/coordinateoperation.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/iso19111/coordinateoperation.cpp b/src/iso19111/coordinateoperation.cpp index a2a31edd..f4e90fe8 100644 --- a/src/iso19111/coordinateoperation.cpp +++ b/src/iso19111/coordinateoperation.cpp @@ -1200,7 +1200,14 @@ void OperationParameterValue::_exportToJSON( writer.AddObjKey("value"); writer.Add(l_value->value().value(), 15); writer.AddObjKey("unit"); - l_value->value().unit()._exportToJSON(formatter); + const auto &l_unit(l_value->value().unit()); + if (l_unit == common::UnitOfMeasure::METRE || + l_unit == common::UnitOfMeasure::DEGREE || + l_unit == common::UnitOfMeasure::SCALE_UNITY) { + writer.Add(l_unit.name()); + } else { + l_unit._exportToJSON(formatter); + } } else if (l_value->type() == ParameterValue::Type::FILENAME) { writer.AddObjKey("value"); writer.Add(l_value->valueFile()); @@ -5473,6 +5480,7 @@ void Conversion::_exportToJSON( } writer.AddObjKey("method"); + formatter->setOmitTypeInImmediateChild(); formatter->setAllowIDInImmediateChild(); method()->_exportToJSON(formatter); @@ -5481,6 +5489,7 @@ void Conversion::_exportToJSON( auto parametersContext(writer.MakeArrayContext(false)); for (const auto &genOpParamvalue : parameterValues()) { formatter->setAllowIDInImmediateChild(); + formatter->setOmitTypeInImmediateChild(); genOpParamvalue->_exportToJSON(formatter); } } |
