28.1.13. Point Cloud Data Management
NEW in 3.32
Note
These algorithms are only available if QGIS uses the PDAL library version 2.5.0 or newer.
28.1.13.1. Assign projection
Assigns a Coordinate Reference System to a point cloud layer, if it is missing or wrong. A new layer is created.
See also
Parameters
Label |
Name |
Type |
Description |
---|---|---|---|
Input layer |
|
[point cloud] |
Input point cloud layer to assign a CRS to |
Desired CRS |
|
[crs] |
The CRS to apply to the layer |
Output layer |
|
[point cloud] Default: |
Specify the point cloud file to use as output. One of:
|
Outputs
Label |
Name |
Type |
Description |
---|---|---|---|
Converted |
|
[point cloud] |
Output point cloud layer with a new CRS.
Currently supported formats are |
Python code
Algorithm ID: pdal:assignprojection
import processing
processing.run("algorithm_id", {parameter_dictionary})
The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.
28.1.13.2. Build virtual point cloud (VPC)
Creates a virtual point cloud (VPC) from input point cloud data.
If you leave the optional parameters unchecked, the VPC file will be built very quickly as the algorithm will only read metadata of input files. With any of the optional parameters set, the algorithm will read all points which can take some time.
See also
Parameters
Label |
Name |
Type |
Description |
---|---|---|---|
Input layers |
|
[point cloud] [list] |
Input point cloud layers to combine inside a virtual point cloud layer |
Calculate boundary polygon |
|
[boolean] Default: False |
Set to True to show the exact boundaries of data (rather than just rectangular extent) |
Calculate statistics |
|
[boolean] Default: False |
Set to True to understand ranges of values of the various attributes |
Build overview point cloud |
|
[boolean] Default: False |
Generates a single “thinned” point cloud of all the input data (using only every 1000th point from original data). The overview point cloud will be created next to the VPC file -
for example, for |
Virtual point cloud |
|
[point cloud] Default: |
Specify the point cloud file to build the data into. One of:
|
Outputs
Label |
Name |
Type |
Description |
---|---|---|---|
Virtual point cloud |
|
[raster] |
Output point cloud layer combining all the input data, as a virtual file. |
Python code
Algorithm ID: pdal:virtualpointcloud
import processing
processing.run("algorithm_id", {parameter_dictionary})
The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.
28.1.13.3. Clip
Clips a point cloud layer by a polygon layer so that the resulting point cloud contains only points within the polygons.
Parameters
Basic parameters
Label |
Name |
Type |
Description |
---|---|---|---|
Input layer |
|
[point cloud] |
Input point cloud layer to clip |
Clipping polygons |
|
[vector: polygon] |
Polygon vector layer to use as coverage for clipping the points |
Clipped |
|
[point cloud] Default: |
Specify the point cloud file to export the clipped points to. One of:
|
Advanced parameters
Label |
Name |
Type |
Description |
---|---|---|---|
Filter expression Optional |
|
[expression] |
A PDAL expression for selecting a subset of features in the point cloud data |
Cropping extent Optional |
|
[extent] |
A map extent for selecting a subset of features in the point cloud data Available methods are:
|
Outputs
Label |
Name |
Type |
Description |
---|---|---|---|
Clipped |
|
[raster] |
Output point cloud whose features are the points within the coverage polygon layer. |
Python code
Algorithm ID: pdal:clip
import processing
processing.run("algorithm_id", {parameter_dictionary})
The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.
28.1.13.4. Create COPC
Creates the index for all the input point cloud files in a batch mode.
Parameters
Label |
Name |
Type |
Description |
---|---|---|---|
Input layers |
|
[point cloud] [list] |
Input point cloud layers to create an index for |
Output directory Optional |
|
[folder] Default: |
Specify the folder to create the new files in. One of:
|
Outputs
Label |
Name |
Type |
Description |
---|---|---|---|
Output directory |
|
[folder] |
Output folder containing point cloud layers with accompanying COPC index files. |
Python code
Algorithm ID: pdal:createcopc
import processing
processing.run("algorithm_id", {parameter_dictionary})
The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.
28.1.13.5. Information
Outputs basic metadata from an input point cloud file.
Example of output information:
LAS 1.4
point format 6
count 56736130
scale 0.001 0.001 0.001
offset 431749.999 5440919.999 968.898
extent 431250 5440420 424.266
432249.999 5441419.999 1513.531
crs ETRS89 / UTM zone 34N (N-E) (EPSG:3046) (vertical CRS missing!)
units horizontal=metre vertical=unknown
Attributes:
- X floating 8
- Y floating 8
- Z floating 8
- Intensity unsigned 2
- ReturnNumber unsigned 1
- NumberOfReturns unsigned 1
- ScanDirectionFlag unsigned 1
- EdgeOfFlightLine unsigned 1
- Classification unsigned 1
- ScanAngleRank floating 4
- UserData unsigned 1
- PointSourceId unsigned 2
- GpsTime floating 8
- ScanChannel unsigned 1
- ClassFlags unsigned 1
Parameters
Label |
Name |
Type |
Description |
---|---|---|---|
Input layer |
|
[point cloud] |
Input point cloud layer to extract metadata information from |
Layer information |
|
[file] Default: |
Specify the file to store the metadata information. One of:
|
Outputs
Label |
Name |
Type |
Description |
---|---|---|---|
Layer information |
|
[vector] |
|
Python code
Algorithm ID: pdal:info
import processing
processing.run("algorithm_id", {parameter_dictionary})
The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.
28.1.13.6. Merge
Merges multiple point cloud files into a single one.
See also
Parameters
Basic parameters
Label |
Name |
Type |
Description |
---|---|---|---|
Input layers |
|
[point cloud] [list] |
Input point cloud layers to merge into a single one |
Merged |
|
[point cloud] Default: |
Specify the output point cloud merging input files. One of:
|
Advanced parameters
Label |
Name |
Type |
Description |
---|---|---|---|
Filter expression Optional |
|
[expression] |
A PDAL expression for selecting a subset of features in the point cloud data |
Cropping extent Optional |
|
[extent] |
A map extent for selecting a subset of features in the point cloud data Available methods are:
|
Outputs
Label |
Name |
Type |
Description |
---|---|---|---|
Merged |
|
[point cloud] |
Output point cloud layer merging all the input files. |
Python code
Algorithm ID: pdal:merge
import processing
processing.run("algorithm_id", {parameter_dictionary})
The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.
28.1.13.7. Reproject
Reprojects a point cloud to a different Coordinate Reference System (CRS).
See also
Parameters
Label |
Name |
Type |
Description |
---|---|---|---|
Input layer |
|
[point cloud] |
Input point cloud layer to reproject to a different CRS |
Target CRS |
|
[crs] |
The CRS to apply to the layer |
Reprojected |
|
[point cloud] Default: |
Specify the reprojected point cloud file. One of:
|
Advanced parameters
Label |
Name |
Type |
Description |
---|---|---|---|
Coordinate operation Optional |
|
[datum] |
The datum transformation to use to reproject the data between the origin and target systems. |
Outputs
Label |
Name |
Type |
Description |
---|---|---|---|
REPROJECTED |
|
[point cloud] |
Output point cloud layer in the target CRS. |
Python code
Algorithm ID: pdal:reproject
import processing
processing.run("algorithm_id", {parameter_dictionary})
The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.
28.1.13.8. Thin (by sampling radius)
Creates a thinned version of the point cloud by performing sampling by distance point (reduces the number of points within a certain radius).
See also
Parameters
Basic parameters
Label |
Name |
Type |
Description |
---|---|---|---|
Input layer |
|
[point cloud] |
Input point cloud layer to create a thinned version from |
Sampling radius (in map units) |
|
[number] Default: 1.0 |
Distance within which points are sampled to a unique point |
Thinned (by radius) |
|
[point cloud] Default: |
Specify the output point cloud with reduced points. One of:
|
Advanced parameters
Label |
Name |
Type |
Description |
---|---|---|---|
Filter expression Optional |
|
[expression] |
A PDAL expression for selecting a subset of features in the point cloud data |
Cropping extent Optional |
|
[extent] |
A map extent for selecting a subset of features in the point cloud data Available methods are:
|
Outputs
Label |
Name |
Type |
Description |
---|---|---|---|
Thinned (by radius) |
|
[point cloud] |
Output point cloud layer with reduced points. |
Python code
Algorithm ID: pdal:thinbyradius
import processing
processing.run("algorithm_id", {parameter_dictionary})
The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.
28.1.13.9. Thin (by skipping points)
Creates a thinned version of the point cloud by keeping only every N-th point (reduces the number of points by skipping nearby points).
See also
Parameters
Basic parameters
Label |
Name |
Type |
Description |
---|---|---|---|
Input layer |
|
[point cloud] |
Input point cloud layer to create a thinned version from |
Number of points to skip |
|
[number] Default: 1 |
Keep only every N-th point in the input layer |
Thinned (by decimation) |
|
[point cloud] Default: |
Specify the output point cloud with reduced points. One of:
|
Advanced parameters
Label |
Name |
Type |
Description |
---|---|---|---|
Filter expression Optional |
|
[expression] |
A PDAL expression for selecting a subset of features in the point cloud data |
Cropping extent Optional |
|
[extent] |
A map extent for selecting a subset of features in the point cloud data Available methods are:
|
Outputs
Label |
Name |
Type |
Description |
---|---|---|---|
Thinned (by decimation) |
|
[point cloud] |
Output point cloud layer with reduced points. |
Python code
Algorithm ID: pdal:thinbydecimate
import processing
processing.run("algorithm_id", {parameter_dictionary})
The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.
28.1.13.10. Tile
Creates tiles from input point cloud files, recommended for best performance (in display or analysis) with such datasets in QGIS.
See also
Parameters
Basic parameters
Label |
Name |
Type |
Description |
---|---|---|---|
Input layers |
|
[point cloud] [list] |
Input point cloud layers to create tiles from |
Tile length |
|
[number] Default: 1000.0 |
Size of the edge of each generated tile |
Output directory |
|
[folder] Default: |
Specify the folder to store the generated tiles. One of:
|
Advanced parameters
Label |
Name |
Type |
Description |
---|---|---|---|
Assign CRS Optional |
|
[crs] |
The CRS to apply to the layer |
Outputs
Label |
Name |
Type |
Description |
---|---|---|---|
Output directory |
|
[folder] |
Output folder containing the tiles generated from input files. |
Python code
Algorithm ID: pdal:tile
import processing
processing.run("algorithm_id", {parameter_dictionary})
The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Using processing algorithms from the console for details on how to run processing algorithms from the Python console.