I have some issues when I connect my rover (simpleRTK2B) to the EUREF network. I suspect that the position shift is due to the ETRS89 datum used in the base station.
My goal is to load a set of points (EPSG:3844) and to correctly position my rover on the edge of the polygon described by the points.
As u-Blox documentation states:
“The rover will not output the position in the local receiver WGS84 (based on ITRF2008) datum, it will match the reference receiver (or base) reference frame. The user application will need to do the transformation for use in a mapping application if it does not use the same reference frame. An offset can occur if this is not done.”
What I tried so far was:
1. Load the points (EPSG:3844) in Qgis (CRS:3844) and export-transform them as an EPSG:4326 geojson.
2. Load the geojson file in Mapit GIS using the default coordinate system WGS84 listed by the app.
3. Follow all the steps from ardusimple tutorial TCPUART->Lefebure NTRIP Client.
4. Connect NTRIP Client to the base station host euref-ip.net:2101.
5. When the rover starts to receive the corrections, then the current position takes a small jump in a southwest direction.
My current setup:
1. simpleRTK2B Budget board + u-Blox ANN-MB-00 Antenna
2. Android mobile phone connected to the board using a USB cable
2. Mapit GIS or SW Maps as applications.
After some outdoor sessions I come back to my office and analyze my data:
In Qgis I load the saved points recorded with Mapit and plot them as an ETRS2000 layer. Then I transform from ETRS:3844 to EPSG:9755 my target polygon and plot it in the same project (CRS == EPSG:9755). Finally when I measure the difference between my points(recorded on the edge) and the actual edge was about 6.6cm.
My solutions:
1. Find a way to transform (ETRS2000) positions on the fly to my current reference frame WGS84 (assuming that Mapit GIS uses the latest WGS84 realization like WGS84 (G2139) == EPSG:9755).
2. Plot my target polygon in the ETRS2000 reference system in Mapit GIS in order to have a common reference system with the rover.
3. Writing my own app that does the datum transformations but I think this is overkill and I hope I missed something.
So I am stuck in implementing these solutions. What are your thoughts? Have I missed something?
What is your approach when you connect to an NTRIP provider (ETRS89 datum)? Do you use other mobile apps for datum transformations?
Please login or Register to submit your answer
replied 4 months ago
#1 Adjust the reference coordinates in the 1005 (or equivalent) message.
The same message/position is sent repetitively for each reference location, cache these, and replace on-the-fly with the datum adjusted value. Either precompute based on the reference stations you’re going to encounter, or work the math.
So map into the LLH domain, then map back into ECEF in the WGS84 frame. There might be a simpler offset, scale, rotation of the ECEF matrix which achieves the same.
replied 4 months ago
Thank you for your reply!
Let me check if I understood correctly.
You suggest that I need to create a service that connects to the NTRIP caster (euref-ip.net in this case) and recomputes the 1005 RTCM message (ECEF coordinates of the Antenna Reference Point (ARP)) in the desired datum.
But this service can be another NTRIP caster like a SNIP? Or do I need to transform ECEF coordinates in the NTRIP client?
Why do I need to “map into the LLH domain, then map back into ECEF in the WGS84 frame”? Did you mean LLH(ETRS2000)->ECEF(ETRS2000)->ECEF(ITRF2014)? Why not ETCF (ETRS2000) -> ETEF(ITRF2014) directly if 1005 comes in ECEF format?
replied 4 months ago
I found this article https://www.use-snip.com/kb/knowledge-base/pfat-adjusting-datum-network/
Is it similar to what you propose?