Table of Contents
- See Also
- python.preCalcFootprint
Aim of script
proxy class for packages.python.preCalcFootprint
The aim of preCalcFootprint is to calculate the laser footprint area.
General description
- Parameters
-
pointspacing remark : optional spacing between points for resulting ellipse polygon in [deg] (only if 'geometry polygon' is selected limits remark : optional "xmin xmax ymin ymax". ".." is neccessary. beamdivergence remark : mandatory divergence of the laser beam in [mrad] trjFormat remark : optional format description to be used for parsing the input trajectory. This will be passed to theopalsImport module. max_incidence remark : optional maximum incidence angle for footprint calculation in [deg](default: 90) geometry remark : optional output geometry type: point or polygon: polygons approximate the ellipse of the laser footprint filterStr remark : optional DataManager filter for pre-selection of points (not implemented yet outFile remark : optional polygon output file. If extension (.odm/.shp) is provided, the respective format will be used. Default format is .shp. if no outFile is given, results will be written back to the –inFile odm. trjFile remark : optional path to the file containing the trajectory (if BeamVector Arguments are not set) attributes remark : optional specify which features (multiple options allowed) should be saved to the output file to save multiple features use this option multiple times e.g. -attr area -attr axes inFile remark : optional input DataManager file (*.odm)
- See Also
- Python script preCalcFootprint
The intersection area of a laser beam with the tangent plane of a target surface is commonly referred to as laser footprint. It's size depends on the range (sensor-to-target distance), the beam divergence (i.e. opening angle of the laser beam) and the incidence angle between the beam and the surface. The latter is calculated based on the laser beam direction and the surface normal vector.
Output can be either points or polygons, and either opals Datamanager (odm) or ESRI Shapefile (.shp). Different attributes can be selected for string by using the {-a, –attribute} parameter. In case of angles of incidence close to 90°, resulting ellipses will not be exact. To skip those automatically, the {–m, –max_incidence} parameter can be used.
Basic algorithm
The script uses a trigonometric approach to calculate the semimajor and semiminor axes of the theoretical elliptic footprint of the laser beam. In the next step, coordinates for points on this ellipse are calculated, with the ellipse in standard form and the points spaced apart {–pointspacing} degrees (eccentric anomaly). These points are then transformed into their position on the tangent plane.
Parameter description
Remark :Optional
Description:
Remark :Optional
Description:
Remark :Optional
Description:
Remark :Optional
Description:
Remark :Mandatory
Description:
Remark :Optional
Description:
Remark :Optional
Description:
Remark :Optional, default: 10
Description:
Remark :Optional, default: ['area']
Description: to save multiple features use this option multiple times e.g. -attr area -attr axes
Possible values:
| area | saves the area of the footprint as attribute (in sq.m.) |
| semimajor | saves the semimajor axis (in m) |
| semiminor | saves the semiminor axis (in m) |
| axes | saves both axes (in m) |
| incidence | saves the angle of incidence (in rad) |
| pointid | saves the id of the originating point |
| beamvector | saves the X/Y/Z components of the beam vector |
| normalvector | saves the X/Y/Z components of the normal vector |
Remark :Optional, default: 'polygon'
Description:
Possible values:
| point | |
| polygon |
Remark :Optional, default: 90
Description:
Examples
The data used in the following examples can be found in the $OPALS_ROOT/demo/ directory.
As a prerequisite for the subsequent examples, please import the data using the following command:
Example 1
Calculate ellipse area and axes, store them in a polygon shapefile. Beam- and normal vectors are assumed as attributes.
Example 2
Calculate beam vectors "on-the-fly", and save the result in an odm as points (with attributes)
Example 3
Write polygon information back to the original odm. Beam vectors are, again, assumed. The polygons will have the origninating point id and the three components of the beam vector as attributes.
