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 {