# Reconstruction and Measurement of Irregular Karst Caves Using BLST along the Shield Metro Line
## 4 Fine Measurement and Reconstruction of Complex Kast Caves
### Solution of Complex Cave Point Cloud Coordinates  
One side of the laser ranging module is equipped with a laser transmitter and a laser receiver. After the laser emitter emits the laser, the laser transmitter transmits the laser for a certain distance until reaching the wall of the karst cave, where it is then transmitted back and received by the laser receiver. The distance between the laser emitter and the measuring point of the cave wall can be expressed as:  
\[S=\frac{1}{2}c\Delta t \tag{15}\]  
in which \(S\) is the distance between the emitter and the measuring point on the cave wall, \(c\) is the transmission speed of the laser through the media, and \(\Delta t\) is the time taken for the laser to be emitted and received. Figure 9: Cavity cloud model acquisition process: (**a**) drilling borehole; (**b**) position adjustment; (**c**) scanning; (**d**) cloud model reconstruction. After the distance \(S\) is calculated using \(c\) and \(\Delta t\), the relative coordinate values of the karst cave wall point can be obtained based on the horizontal and vertical rotation angles of the laser ranging module. As shown in Figure 10, \(O\) is set as the laser emission point with the coordinates \((x_{0},y_{0},z_{0})\), P is set as the point to be measured on the cave wall with the coordinates \((x,y,z)\), \(\alpha\) is set as the horizontal rotation angle, and \(\beta\) is set as the vertical rotation angle; then, the relative coordinate value of \(p\) is:  
\[x=S\cos\beta\cos\alpha \tag{16}\]  
\[y=S\cos\beta\sin\alpha \tag{17}\]  
\[z=S\sin\beta \tag{18}\]  
The absolute coordinate value of \(p\) is:  
\[\left[ \begin{array}{c}x\\ y\\ z\end{array} \right]=\frac{1}{2}c\Delta t\cdot\left[ \begin{array}{ccc}\cos \beta\cos\alpha&0&0\\ 0&\cos\beta\sin\alpha&0\\ 0&0&\sin\beta\end{array} \right]+\left[ \begin{array}{c}x_{0}\\ y_{0}\\ z_{0}\end{array} \right] \tag{19}\]  
The factors affecting the accuracy of cave shape acquisition are as follows: the high irregularity of cave shapes, the laser detection beam being blocked by internal surrounding rock, irregular rock columns, and irregular fillings, which result in a single detection not covering the complete internal boundaries of a cave, and thus allowing the presence of local detection \"blind spots\". The size of a dry karst cave is generally within the laser detection range. When there is a large water-filled cave, due to the rapid attenuation of lasers in water, the detection distance is limited, and single-station detection cannot cover the whole cave. Multistation detection is, thus, required for point cloud data splicing. The accuracy of laser ranging decreases with the increase of detection distance, resulting in low detection accuracy, as point clouds are dense near karst caves and are sparse far from the caves. Under these conditions, it is also necessary to carry out multistation detection to eliminate the local detection blind spots of the cave and ensure the refinement and accuracy of the cave boundary shape. The key to the splicing of multiple detection point clouds is the transformation of the detection coordinate system. Taking the detection of two stations as an example, it is assumed that the coordinate system of one station is \(o-xyz\) and the other is \(o^{\prime}-x^{\prime}y^{\prime}z^{\prime}\). In the transformation process, the coordinate  
Figure 10: Principles of laser measurement: (**a**) scanning line; (**b**) coordinate calculation of the point cloud. system \(o^{\prime}-x^{\prime}y^{\prime}z^{\prime}\) can be obtained by rotating the coordinate system \(o-xyz\) around the three coordinate axes and with the matrix translation, which can be expressed by Equation (20). \[\left[ \begin{array}{c}x^{\prime}\\ y^{\prime}\\ z^{\prime}\end{array} \right]=\
u R(\alpha,\beta,\gamma)\left[ \begin{array}{c}x \\ y\\ z\end{array} \right]+T \tag{20}\]  
in which the translated matrix \(T\) can be described by \(x_{0}\), \(y_{0}\), and \(z_{0}\), the three translation amounts in the three-dimensional axes:  
\[T=\left[