# [PERSON] Glacier Status Analysis Based on Historical Data and Moving Detection Using RPAS
## 6 Data Processing
### RPAS Data Processing
#### 6.1.2 Joining of Both Point Clouds  
Accurately referencing both point clouds from individual flights was not typical, because no terrestrial geodetic measurement was made. There were no precisely measured control points (GCP); it would be impossible to place and measure them on the glacier. GNSS equipment on the drone has an accuracy of 3-5 m, which is insufficient for precise georeferencing of projection centers by taking of photos and for georeferencing of computed points in point cloud derived from these photos. The assumption of movement in a few hours was one to several m maximally. The RTK system was unavailable and it would not work here due to the short measurement time and conditions, and no reference station was at our disposal either. The precise joining of both point clouds from the two overflights to one system was made as follows:  
The first model was defined as a reference and the second was transformed into it. However, a problem occurred with the joining of the second point cloud with the control points detected at the edge of the model only. The software performs the joining of both point clouds using the control points. These control points were found on the first model, but only on edges of the model, in a stone moraine. These found points were relatively stable and were used as fixed points. In the middle of the glacier, considerable movement was expected, and it was not possible to define high-quality fixed control points; due to this, the calculation using the new bundle adjustment process deformed the second model by correcting the elements of external orientation. The model curled, then a deformation occurred, and it reached more than two m (Figure 12). It was necessary to use a different procedure. Models (point clouds) cannot be joined only at fixed control points at the edges of the model, because then generally an unknown deformation occurs in the middle of the model. Both point clouds were calculated separately, and the second point cloud was joined only by a similarity transformation (shifts, three rotations, scaling) using six control points directly in CloudCompare software and university software Tran independently together [15]. It finally gave usable results with an RMS (root mean square) of 0.67 m, 0.69 m, respectively. A total of eight potential control  
Figure 12: Schematic deformation of both models after joining the point clouds with control points, found at the edge of the model in a stone moraine (it should be stable). By joining both point clouds, the second was deformed in the middle due to the recalculation of the bundle adjustment (e.g., the internal and external parameters can be changed). For this reason, we used both point clouds, as they were processed separately, and the joining was made using similarity transformation only in external software. points were found, and only six were used, which was an error less than twice of mean error (RMS). No exact control points measured with a precise GNSS device were at our disposal. A similarity transformation in 3D was used (Equation (1)):  
\[\left( \begin{array}{c}X\\ Y\\ Z\end{array} \right)=\left( \begin{array}{c}X_{0}\\ Y_{0}\\ Z_{0}\end{array} \right)+m\cdot R\cdot\left( \begin{array}{c}x\\ y\\ z\end{array} \right) \tag{1}\]  
where (\(X\), \(Y\), \(Z\)) are the final coordinates in the system of first model, (\(X_{0}\), \(Y_{0}\), \(Z_{0}\)) are the shifts, \(m\) is the scale and (\(x\), \(y\), \(z\)) are the coordinates in the second model. The spatial seven-element transformation--the similarity transformation--is given by seven unknowns, three translations, three rotations, and one scaling. It can be possible to use the affine spatial transformation, which similar to the seven-element transformation, but it has nine unknowns, and there are three scale values--a different scale for each axis. To calculate the transformation key, it is necessary to calculate approximate values and proceed with these by iteration.