## 3 Data Processing
### Quality of GNSS Positioning  
The goal of processing the observations was to test the quality of the positions over time, especially in challenging conditions for GNSS. In the following analyses, all the comparisons were made under the hypothesis that the MMS solution is more accurate compared to the other receivers. Since the Applanix system only allows the computation of trajectories in the GPS constellation, all the comparisons were initially performed only in the context of the trajectories generated by GPS; then, the multi-constellation results for Septentrio, u-bloxes, and the smartphone were computed. It could be said that the reference trajectory from Applanix was at an advantage due to operating in GPS/INS mode, while the trajectories from the other receivers were at an advantage due to operating only in GNSS mode. The GPS and GNSS solutions were analysed for the trajectory under consideration, with the percentage determined by the number of total solutions obtained from the MMS. Similar comparisons were then made for the individual cases, i.e., cases A-D, as shown in Figure 4.  
The reference coordinates \((e_{0},n_{0},h_{0})\) at each epoch \(t\) were obtained from the post-processing results of the MMS and computed for the position of the Septentrio AsteRx-U, ZED-F9P, ZED-F9R, and Xiaomi Mis smartphone. Since in GNSS positioning, the vertical accuracy can be significantly lower than the horizontal accuracy, especially under difficult conditions such as urban canyons or dense vegetation, the spatial distances \(d_{3D}\) were estimated separately in further analyses. In each epoch \(t\), they were computed between the considered receivers \((e_{rec},n_{rec},h_{rec})\) and the reference receiver \((e_{0},n_{0},h_{0})\), namely:  
\[\begin{split} d_{2D}(t)=\sqrt{\left(e_{0}(t)-e_{rec}(t)\right)^{2 }+\left(n_{0}(t)-n_{rec}(t)\right)^{2}}\\ d_{3D}(t)=\sqrt{\left(d_{2D}(t)\right)^{2}+\left(h_{0}(t)-h_{rec} (t)\right)^{2}}\end{split} \tag{1}\]  
Figure 7: Satellite visibility, cycle slips (vertical red lines), and carrier-to-noise ratio (C/N0) for (**a**) Septentrio AsteRx-U receiver, (**b**) ZED-F9P u-blox receiver, (**c**) ZED-F9R u-blox receiver, and (**d**) Xiaomi Mis. C/N0 values are shown in a colour scale from green (45 dB-Hz), orange, purple, blue, red (25 dB-Hz) to grey (<25 dB-Hz).  
In the quality analysis, the first criterion for the quality of the positioning was the ability to resolve the carrier phase ambiguities, while the second criterion was based on the comparison of the calculated distance (\(d_{2D,computed}(t)\) and \(d_{3D,computed}(t)\)) between the Applanix and the specific receiver at the specific epoch (Equation (1)) with the measured horizontal distance between the Applanix and each of the receiver \(d_{0}\) (see Figure 3). The measured height difference should be zero, since all instruments were placed on the same levelled car mount. The calculation of the deviation of the distances (horizontal and spatial) for each specific epoch \(t\) was made separately based on the following equation:  
\[dev\_d(t)=d_{computed}(t)-d_{0} \tag{2}\]  
where \(d\) stands for either \(d_{2D}\) or \(d_{3D}\). In addition, since many positions turned out to be outliers, the deviations were analysed for the given threshold. Deviations greater than 1 m, 30 cm, and 10 cm were identified as outliers and removed from the analysis.