diff --git a/app/i18n/input_en.ts b/app/i18n/input_en.ts index a5cde43c0..0224136bf 100644 --- a/app/i18n/input_en.ts +++ b/app/i18n/input_en.ts @@ -1118,6 +1118,16 @@ Won't be added to the project. Altitude + + + Orthometric height, using %1 geoid + + + + + Elevation using unspecified grid + + Fix quality @@ -2969,7 +2979,7 @@ only allows up to %1 downloaded projects. PositionKit - + External (Mock) diff --git a/app/position/positionkit.cpp b/app/position/positionkit.cpp index 7ef76d3a7..addd834f5 100644 --- a/app/position/positionkit.cpp +++ b/app/position/positionkit.cpp @@ -50,6 +50,12 @@ QString PositionKit::positionCrs3DGeoidModelName() return mVerticalCrs.description(); } + // for internal providers return EGM96 model + if ( mPositionProvider->type() == QStringLiteral( "internal" ) && !mPosition.isMock ) + { + return QgsCoordinateReferenceSystem::fromEpsgId( 5773 ).description(); + } + return {}; } diff --git a/app/position/positiontransformer.cpp b/app/position/positiontransformer.cpp index 2c4dc9b90..7709ff136 100644 --- a/app/position/positiontransformer.cpp +++ b/app/position/positiontransformer.cpp @@ -40,6 +40,11 @@ GeoPosition PositionTransformer::processBluetoothPosition( GeoPosition geoPositi geoPosition.elevation = geoidPosition.z(); geoPosition.elevation_diff = ellipsoidElevation - geoidPosition.z(); } + else + { + geoPosition.elevation = std::numeric_limits::quiet_NaN(); + geoPosition.elevation_diff = std::numeric_limits::quiet_NaN(); + } } return geoPosition; @@ -65,6 +70,11 @@ GeoPosition PositionTransformer::processAndroidPosition( GeoPosition geoPosition geoPosition.elevation = geoidPosition.z(); geoPosition.elevation_diff = geoidSeparation; } + else + { + geoPosition.elevation = std::numeric_limits::quiet_NaN(); + geoPosition.elevation_diff = std::numeric_limits::quiet_NaN(); + } } } diff --git a/app/qml/gps/MMGpsDataDrawer.qml b/app/qml/gps/MMGpsDataDrawer.qml index 8518f0770..1b018bbe3 100644 --- a/app/qml/gps/MMGpsDataDrawer.qml +++ b/app/qml/gps/MMGpsDataDrawer.qml @@ -199,7 +199,7 @@ MMComponents.MMDrawer { } alignmentRight: Positioner.index % 2 === 1 - desc: PositionKit.positionCrs3DGeoidModelName().length > 0 ? qsTr(("Orthometric height, using %1 geoid").arg(PositionKit.positionCrs3DGeoidModelName())) : "" + desc: PositionKit.positionCrs3DGeoidModelName().length > 0 ? qsTr("Orthometric height, using %1 geoid").arg(PositionKit.positionCrs3DGeoidModelName()) : qsTr("Elevation using unspecified grid") } MMGpsComponents.MMGpsDataText {