## 2 Materials and Methods
### GNSS-RTK Availability Assessment  
In this section, the mean elevation angle mask generation and the accompanying GNSS-RTK availability assessment are presented.  
The first step is the local map extraction. Each GNSS-RTK resolved by RTKLIB [7] under the Earth-centered, Earth-fixed (ECEF) coordinate system is converted to the ENU frame through GeographicLib [46]. As shown in Figure 2a, the local map around it is extracted from the global map. The map is originally expressed under the local world frame and then converted to the ENU frame for convenience. What is more, in the \"east\" and \"north\" directions, the local map is specified by fixed Euclidean distance parameters. While in the \"up\" direction, all the points are included to completely reflect the density and the altitude of the obstacles. For computational efficiency, points lower than 1 m in the local map are removed.  
Figure 1: The framework of the proposed method that adaptively integrate GNSS-RTK [7] with LiDAR/IMU [33]. 1 denotes an example of the global point cloud map produced by LiDAR scan matching during local FGO. 2 denotes an example of the local map for mean elevation angle mask calculation. 3 demonstrates the mean elevation angle mask for GNSS-RTK availability assessment. The meaning of the annotation on the mask would be introduced in detail in Section 3.2.1.  
The second step is a sub-region division which takes the evenness and the robustness into consideration. A total of 360 degrees around the GNSS rover is divided into 36 sub-regions according to the azimuth angle, for example, the point with an azimuth angle of smaller than 10 degrees belongs to the first subregion, and that bigger than 10 degrees but smaller than 20 degrees belongs to the second subregion. It is worth mentioning that the reliability of the GNSS measurements is not yet clear until the assessment is finished. Therefore, the chronologically closest pose estimated by local FGO is exploited instead of quantifying the relative distance between the GNSS rover and the scanned objects. Regarding the \(k\)-th GNSS-RTK solution \({}^{n}\mathbf{g}_{k}=\left[{{}^{n}x}_{\mathbf{g}_{k}},\,{{}^{n}y}_{\mathbf{g }_{k}},\,{{}^{n}z}_{\mathbf{g}_{k}}\right]^{T}\), its correspondent position generated by local FGO is denoted as \({}^{n}\mathbf{g}_{k}=\left[{{}^{n}x}_{\mathbf{g}_{k}},\,{{}^{n}y}_{\mathbf{g }_{k}},\,{{}^{n}z}_{\mathbf{g}_{k}}\right]^{T}\). For a point \({}^{n}\mathbf{f}_{i}=\left[{{}^{n}x}_{\mathbf{f}_{i}},\,{{}^{n}y}_{\mathbf{f }_{i}},\,{{}^{n}z}_{\mathbf{f}_{i}}\right]^{T}\) on the extracted local map, its azimuth angle is denoted as \(az_{\mathbf{f}_{i}}\) is calculated as:  
\[az_{\mathbf{f}_{i}}=arctan\Big{(}\Big{|}{{}^{n}y}_{\mathbf{g}_{k}}-\,{{}^{n}y} _{\mathbf{f}_{i}}\Big{|}\Big{/}\Big{|}{{}^{n}x}_{\mathbf{g}_{k}}-\,{{}^{n}x} _{\mathbf{f}_{i}}\Big{|}\Big{)}. \tag{2}\]  
Its elevation angle \(el_{\mathbf{f}_{i}}\) is defined as:  
\[el_{\mathbf{f}_{i}}=arctan\left(\Big{|}{{}^{n}z}_{\mathbf{g}_{k}}-\,{{}^{n}z} _{\mathbf{f}_{i}}\Big{|}\Big{/}\sqrt{\left({{}^{n}x}_{\mathbf{g}_{k}}-\,{{}^{n} x}_{\mathbf{f}_{i}}\right)^{2}+\left({{}^{n}y}_{\mathbf{g}_{k}}-\,{{}^{n}y}_{ \mathbf{f}_{i}}\right)^{2}}\right). \tag{3}\]  
Considering all the points in one subregion, their elevation angles are sorted among which the upper quartile is taken as the elevation angle of this subregion. Then the mean elevation angle of all the subregions denoted as \(el_{\mathbf{g}_{k}}\), is taken as the mean elevation angle mask of the GNSS RTK measurement \(\mathbf{g}_{k}^{n}\). Provided a threshold \(el_{th}\), the GNSS-RTK availability assessment is finally achieved by:  
\[{}^{n}\mathbf{g}_{k}:\begin{cases}el_{\mathbf{g}_{k}}>el_{th},&\text{unreliable} \\ el_{\mathbf{g}_{k}}<el_{th},&\text{reliable}\end{cases}. \tag{4}\]  
The effect of different thresholds is evaluated and discussed in the section of the experiment result.