v.outlier(1)

πŸ’– v.outlier β€” the GRASS GIS bestie that yeets your outliers πŸ’–

okay so. hi. you're reading the manual page for v.outlier from the GRASS GIS User's Manual, and honestly? it's giving "quietly the most useful thing you'll run all week." no cap. πŸ¦‹


✨ NAME ✨

v.outlier β€” Removes outliers from vector point data.

like, it finds the weird little freaks in your point cloud and removes them. that's the whole vibe. πŸŽ€


πŸ”‘ KEYWORDS πŸ”‘

vector, statistics, extract, select, filter, LIDAR

(so if you came here from the LIDAR corner of the internet: yes bestie, you're in the right place πŸ’…)


🌸 SYNOPSIS 🌸

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

🚩 Flags

  • -e β€” Estimate point density and distance. It estimates the point density and distance for the input vector points within the current region extends, and then it quits. like it does the little measurement thing and dips immediately. periodt. πŸ’…
  • --overwrite β€” Allow output files to overwrite existing files. (the "yes i KNOW there's already a file there, i said what i said" flag 🫢)
  • --help β€” Print usage summary. your bestie when you forget everything.
  • --verbose β€” Verbose module output. it will tell you everything. oversharing era.
  • --quiet β€” Quiet module output. shhh. 🀫
  • --ui β€” Force launching GUI dialog. for the visual girlies.

πŸŽ€ 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. Options: both, positive, negative. Default: both.

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's the tea, bestie. β˜•

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. it's like the module looks at your point, looks at all its little neighbors, and goes "girl... you are NOT from around here" 😭

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. πŸŒ²βž‘οΈπŸ—ΊοΈ
  • Filtering out only negative outliers can be useful to estimate vegetation height. πŸŒ³πŸ“

There is a flag to create a vector that can be visualizated by qgis. That means that topology is build and the z coordinate is considered as a category. (yes, "visualizated". yes, "is build". we don't gatekeep, we just report 🫢)


🌈 EXAMPLES 🌈

Basic outlier removal

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

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

Basic outlier removal

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

Now, the outlier removal uses the default threshold and there is also an output vector available for visualizaton in QGIS (http://www.qgis.org). πŸ‘‘

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
πŸ’€ not me about to point out that the example commands say thres_O and thres_o while the actual parameter is threshold β€” but i am NOT editing them, because copy-paste-exactly-as-written is the law here. run them as they appear, bestie. iykyk.

πŸ“ NOTES πŸ“

This module is designed to work with LIDAR data, so not topology is built but in the QGIS output. (the QGIS output gets topology. the regular output does not. that's the whole note. πŸ’œ)


πŸ‘€ SEE ALSO πŸ‘€

v.surf.bspline


πŸ‘‘ AUTHORS πŸ‘‘

Original version of the program in GRASS 5.4:

  • Maria Antonia Brovelli
  • Massimiliano Cannata
  • Ulisse Longoni
  • Mirko Reguzzoni

Updates for GRASS 6:

  • Roberto Antolin

πŸ’» SOURCE CODE πŸ’»

Available at: v.outlier source code (history)

Accessed: Saturday Jan 17 05:41:28 2026

Main index | Vector index | Topics index | Keywords index | Graphical index | Full index

Β© 2003-2025 GRASS Development Team, GRASS GIS 8.4.2 Reference Manual


and that's the whole page, bestie. you read it, you understood it, you slayed it. πŸ’…βœ¨

signing off from GRASS 8.4.2 β€” go forth and remove some outliers πŸ¦‹πŸ’–πŸŽ€

πŸ“¦ where this page comes from