Table of Contents
- See Also
- opals::ISnellius
Aim of module
Performs range and refraction corrections of raw laser bathymetry measurements according to Snell's law.
General description
Laser bathymetry
Airborne laser bathymetry (ALB) is the technique for measuring the depths of relatively shallow coastal or inland waters (rivers, ponds, lakes). ALB is a two-media measurement process, since the laser beam has to travel both through the air and the water. This propagation, though, presents some differences between the air and the water, the main of which is in the propagation velocity of the laser beam (i.e. the speed of light). For that reason, the laser echoes that penetrate into the water column, need to be corrected due to this effect.
More specifically, according to the principle of ALB, a short green laser pulse (
) is emitted from an airborne platform, travels through the atmosphere, and hits the water surface where it gets refracted towards the plumb line. Within the water column the laser beam propagates with reduced velocity and is scattered at water and sediment particles. A part of the signal is reflected from the bottom of the water body, and, after the return trip, the full waveform of the backscattered echo signal is detected at the receiver. Beam refraction as a consequence of the different propagation speed in air and water is described by Snell's law (Willebrord Snellius) as:
where
is the incidence angle of the laser beam w.r.t. the normal vector of the water surface and
in the water,
and
are the group velocities in the air and the water respectively and finally
and
are the refractive indices in the air and the water at the respective wavelength. It is mentioned that the refractive index of clear water at 20 °C is 1.33.
The interaction of the green laser beam with the medium water is illustrated in Fig. 1.
The range and refraction correction is carried out for the points of the input OPALS Datamanager (inFile). For each point, the laser beam is intersected with the water surface model (refModel), which may either be provided as a grid file in GDAL supported format or as a constant height value. A useful tool to obtain a water surface model is the Python script Water Surface Modelling Tool (see hydWSM). All points intersecting the water surface are corrected applying Snell's law, as described above, based on the specified refraction index (refracIndex). Optionally, a filter (filter) can be used to restrict the considered point set.
Please note, that intersecting the laser beam with the water surface model requires storage of the beam vector. Therefore, the ODM file must contain the following attributes for all water echoes:
- BeamVectorX
- BeamVectorY
- BeamVectorZ
For all bathymetric echoes the x/y/z-coordinate offsets and the water depth are stored as additional attributes in the ODM:
- _REFCORRX: range/refraction corrections in X-direction
- _REFCORRY: range/refraction corrections in Y-direction
- _REFCORRZ: range/refraction corrections in Z-direction
- WaterDepth: water depth
Furthermore the classification of the bathymetric echoes is set to ASPRS Standard LIDAR Point Class 9 (i.e. water). If an optional output file (outFile) is specified the range/refraction corrected coordinates and all attributes are written to a new OPALS Datamanager.
Photo bathymetry
Module Snellius cannot only be used for laser bathymetry but also for photo bathymetry. Fig. 2 shows a principle sketch of image ray refraction in the multimedia photogrammetric case. As in laser bathymetry, ray bending is described by Snell's law.
The input file (inFile) contains the uncorrected photogrammetric 3D point cloud. To activate the photogrammetric mode, a file (oriFile) containing the exterior orientations of the photos from which the point cloud was derived must be specified. Please note that for proper photo bathymetry refraction correction, only the camera positions (X, Y, Z) are required but not the rotation angles. Arbitrary file formats are supported via parameter oriFormat. Please refer to OPALS Format Definition for further information about user defined file formats.
As in the laser case, the coordinate corrections as well as the water depth are stored as additional attributes (cf. above). As the bended image rays are generally skew, additional accuracy measures describing the the quality of the ray forward intersection are provided:
- SIGMAX: accuracy in X-direction
- SIGMAY: accuracy in Y-direction
- SIGMAZ: accuracy in Z-direction
Parameter description
Remarks: mandatory
The ODM file for which the range/refraction correction is to be performed
Remarks: optional
If specified, the runtime and refraction corrected coordinates and all attributes are saved to a new OPALS data manager (ODM) file.
Remarks: mandatory
The reference model (air-water-interface) is expected as a raster in GDAL readable format. As an alterative a numeric value denoting the horizontal water level can be specified instead of a raster model.
Remarks: default=1.33
Denotes the refractive index of water and is used to compute the range/refraction correction for water echoes in raw bathymetry point clouds accordeing to Snell's law.
Remarks: optional
Appling the refraction corrections on two media photogrammetry point clouds, the projection centers of all images needs to be specified in a orientation file
Remarks: default=auto
File format of the image orientation file. Please refer to parameter iFormat of Module Import for further details
Remarks: optional
A filter string in EBNF syntax as described in section 'Filter syntax' can be passed to restrict the set of input points (e.g. to consider last echoes only).
Remarks: default=minimum
Possible values: minimum ... Storage of normal vector, sigma0 and estimtation method medium .... Storage of 'minimum' infos, eigenvalues, nr. of given points and nr. of used points maximum ... Storage of 'medium' infos, eigenvektor matrix
This parameter controls the amount of additional intermediate results stored in the ODM. The information content is different for the LiDAR- and photobathymetry. For a detailed list of attributes please please refer to the general description.
Example
The data used in the following examples can be found in the $OPALS_ROOT/demo/ directory.
Example 2:
This first example gives guidance on how the opalsSnellius module can be used for the range/refraction correction of the raw, uncorrected laser point cloud. A brief description of the required files is also included. For further investigation of the opalsSnellius module as well as the Python script Water Surface Modelling Tool, see the use case Airborne Laser Bathymetry application: Range/Refraction correction at Pielach River, Austria.
To perform range/refraction correction of a raw ALB point cloud run the following commands:
The raw ALB point cloud is contained in the strip149.las, while with the LAS_1.4_beamInfo.xml XML file (OPALS Format Definition) its format is specified. Note that the water surface model is already provided as a raster model stored in GeoTiff format while usually it has to be generated from the data.
If the parameter (outFile) is specified, the range/refraction corrected coordinates (X, Y and Z) are stored in the new ODM together with all additional attributes of the input ODM. Please note that the intermediate attributes _REFCORRX, _REFCORRY and _REFCORRZ are not contained in the output ODM.
To compute and visualize the differences, run the following command sequence:
At first, the two DEMs are created, for the raw and the corrected point cloud respectively. Using the opalsAlgebra, the difference between these two is computed and saved into a new .tif file (diff.tif), which is shown in Fig. 2.
It is observed that all of the differences are negative, which implies that the corrected points have higher values of Z, and therefore smaller depths, as expected. This is due to the fact that the raw water depths are overestimated as a matter of not considering the reduced propagation speed of light in water. In addition, the dark red regions, that have a zero value, are non water regions. So, there were no corrections applied to them.
Another way to visualize the differences is by using the opalsSection module or the Python script sectionDemo.py included in the $OPALS_ROOT/demo/ directory:
Fig. 4 shows the two point clouds with respect to the water surface, as that was extracted from the water surface model. It is obvious that when the points are over the water surface, the two different datasets coincide since there is no range correction. In addition, one can see that the range/refraction corrections are higher in deeper waters.
Example 2:
The second example illustrates refraction correction of a photogrammetric point cloud. In addition to the 3D points, the water surface model and the image positions/orientations are required.
The results are plotted in Fig. 5:
References
Mandlburger, G., Pfennigbauer, M., & Pfeifer, N. (2013). Analyzing near water surface penetration in laser bathymetry – A case study at the River Pielach. ISPRS Ann. Photogramm. Remote Sens. Spatial Inf. Sci. ISPRS Annals of Photogrammetry, Remote Sensing and Spatial Information Sciences, II-5/W2, 175-180. doi:10.5194/isprsannals-ii-5-w2-175-2013
Mandlburger, G., Hauer, C., Wieser, M., Pfeifer, N. (2015). Topo-Bathymetric LiDAR for Monitoring River Morphodynamics and Instream Habitats - A Case Study at the Pielach River. Remote Sens. 2015, 7, 6160-6195.
- Date
- 28.06.2016
