-
Notifications
You must be signed in to change notification settings - Fork 75
GNSS enhancements bundle #4234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
GNSS enhancements bundle #4234
Conversation
* Enhance position altitude processing Add EGM96_15 geoid model, which recalculates ellipsoid altitudes returned by position providers. Expose this information in GPS information panel. * Fix broken builds * Fix formatting * Add geoid info for iOS * Refactor PositionKit to singleton from context property * Patch ios internal positioning provider Provider returns now WGS84 ellipsoidal height on iOS * Fix elevation transform & android workaround Create new 3D transform utils function. Fix coordinate order passing. Rework android 15+ Qt positioning workaround to VCPKG patch. * Clean up & format code * Add patch TODO * Fix some review issues
commit 27b19a4 Author: Matej Bagar <matej.bagar@lutraconsulting.co.uk> Date: Mon Nov 24 15:22:46 2025 +0200 Add mock location detection for android position provider
OLD |
|
We should also subtract the height of antenna from the elevation in GPS panel |
|
Hi @Withalion Testing of bluetooth (external GNSS) provider Application (+ app version, build, operating system):
The difference between Mergin Maps application in iOS and Android vs. Emlid Flow is 2m. Probably the height in iOS seems to be displayed incorrectly. Application (+ app version, build, operating system):
The difference between a feature recorded in Emlid Flow and Mergin Maps applications is on average 0.0075 m.
|
|
Hei @IvaKuklica could you fix that image at some point, looks like it's broken/unavailable. |
|
I also increased the click area for the information button, so it's easier to trigger the info popup on smaller screens. |
|
After agreement with others, let's do the following for the upcoming release:
|
|
Some more context:
|

This PR includes multiple improvements to GNSS data handling, elevation handling and some more improvements.
geoid_separationvariable.QgsCoordinateTransformContextfrom the project, which would fail transformations if users used custom transformation.To summarise:
geoid_separation=> should be used as@position_geoid_separationaltitude_ellipsoidal=> should be used as@position_altitude_ellipsoidalBesides all of these, the altitude value in GPS info panel should show the elevation received from provider minus the antenna height. The same should apply for all elevation variables.
A tip for users setting up external GNSS receivers is to select fused provider on Android and internal provider on iOS, as these providers will show if mocked location is detected.
@wonder-sk soft ping if you want to have another look