Skip to content

v.outlier

Removes outliers from vector point data.

v.outlier [-e] input=name output=name outlier=name [qgis=name] [ew_step=float] [ns_step=float] [lambda=float] [threshold=float] [filter=string] [--overwrite] [--verbose] [--quiet] [--qq] [--ui]

Example:

v.outlier input=name output=name outlier=name

grass.script.run_command("v.outlier", input, output, outlier, qgis=None, ew_step=None, ns_step=None, lambda=0.1, threshold=50, filter="both", flags=None, overwrite=False, verbose=False, quiet=False, superquiet=False)

Example:

gs.run_command("v.outlier", input="name", output="name", outlier="name")

Parameters

input=name [required]
    Name of input vector map
    Or data source for direct OGR access
output=name [required]
    Name for output vector map
outlier=name [required]
    Name for output outlier vector map
qgis=name
    Name for vector map for visualization in QGIS
ew_step=float
    Length of each spline step in the east-west direction
    Default: 10 * east-west resolution
ns_step=float
    Length of each spline step in the north-south direction
    Default: 10 * north-south resolution
lambda=float
    Tykhonov regularization weight
    Default: 0.1
threshold=float
    Threshold for the outliers
    Default: 50
filter=string
    Filtering option
    Allowed values: both, positive, negative
    Default: both
-e
    Estimate point density and distance
    Estimate point density and distance for the input vector points within the current region extends and quit
--overwrite
    Allow output files to overwrite existing files
--help
    Print usage summary
--verbose
    Verbose module output
--quiet
    Quiet module output
--qq
    Very quiet module output
--ui
    Force launching GUI dialog

input : str, required
    Name of input vector map
    Or data source for direct OGR access
    Used as: input, vector, name
output : str, required
    Name for output vector map
    Used as: output, vector, name
outlier : str, required
    Name for output outlier vector map
    Used as: output, vector, name
qgis : str, optional
    Name for vector map for visualization in QGIS
    Used as: output, vector, name
ew_step : float, optional
    Length of each spline step in the east-west direction
    Default: 10 * east-west resolution
ns_step : float, optional
    Length of each spline step in the north-south direction
    Default: 10 * north-south resolution
lambda : float, optional
    Tykhonov regularization weight
    Default: 0.1
threshold : float, optional
    Threshold for the outliers
    Default: 50
filter : str, optional
    Filtering option
    Allowed values: both, positive, negative
    Default: both
flags : str, optional
    Allowed values: e
    e
        Estimate point density and distance
        Estimate point density and distance for the input vector points within the current region extends and quit
overwrite: bool, optional
    Allow output files to overwrite existing files
    Default: False
verbose: bool, optional
    Verbose module output
    Default: False
quiet: bool, optional
    Quiet module output
    Default: False
superquiet: bool, optional
    Very quiet module output
    Default: False

DESCRIPTION

v.outlier removes outliers in a 3D point cloud. By default, the outlier identification is done by a bicubic spline interpolation of the observation with a high regularization parameter and a low resolution in south-north and east-west directions. Those points that differ in an absolute value more than the given threshold from a fixed value, reckoned from its surroundings by the interpolation, are considered as an outlier, and hence are removed.

The filter option specifies if all outliers will be removed (default), or only positive or only negative outliers. Filtering out only positive outliers can be useful to filter out vegetation returns (e.g. from forest canopies) from LIDAR point clouds, in order to extract digital terrain models (DTMs). Filtering out only negative outliers can be useful to estimate vegetation height.

There is a flag to create a vector that can be visualized in QGIS. That means that topology is built and the z coordinate is considered as a category.

EXAMPLES

Basic outlier removal

In this case, a basic outlier removal is done with a threshold of 25 m:

v.outlier input=vector_map output=vector_output outlier=vector_outlier thres_O=25

Now, the outlier removal uses the default threshold and there is also an output vector available for visualization in QGIS:

v.outlier input=vector_map output=vector_output outlier=vector_outlier qgis=vector_qgis

North Carolina dataset example

v.outlier input=elev_lid792_bepts output=elev_lid792_bepts_nooutliers \
  outlier=elev_lid792_bepts_outliers ew_step=5 ns_step=5 thres_o=0.1

NOTES

This module is designed to work with LIDAR data, so not topology is built but in the QGIS output.

SEE ALSO

v.surf.bspline

AUTHORS

Original version of the program in GRASS 5.4:
Maria Antonia Brovelli, Massimiliano Cannata, Ulisse Longoni and Mirko Reguzzoni

Updates for GRASS 6:
Roberto Antolin

SOURCE CODE

Available at: v.outlier source code (history)
Latest change: Saturday Mar 29 14:59:39 2025 in commit 0bfa813