## NAME

v.in.pdal - Converts LAS LiDAR point clouds to a GRASS vector map with PDAL.

## KEYWORDS

vector, import, LIDAR

## SYNOPSIS

v.in.pdal
v.in.pdal --help
v.in.pdal [-wocrjkhm] input=name output=name [id_layer=string] [return_layer=string] [class_layer=string] [rgb_layer=string] [spatial=xmin,ymin,xmax,ymax] [zrange=min,max] [return_filter=string] [class_filter=integer[,integer,...]] [input_srs=string] [max_ground_window_size=float] [ground_slope=float] [max_ground_distance=float] [initial_ground_distance=float] [ground_cell_size=float] [--overwrite] [--help] [--verbose] [--quiet] [--ui]

### Flags:

-w
  Reproject to location's coordinate system if needed
  Reprojects input dataset to the coordinate system of the GRASS location (by default only datasets with the matching cordinate system can be imported
-o
  Override projection check (use current location's projection)
  Assume that the dataset has same projection as the current location
-c
  Do not automatically add unique ID as category to each point
  Create only requested layers and categories
-r
  Limit import to the current region
-j
  Classify and extract ground points
  This assignes class 2 to the groud points
-k
  Classify ground points
-h
  Compute height for points as a difference from ground
  This requires points to have class 2
-m
  Use approximate algorithm in ground filter
--overwrite
  Allow output files to overwrite existing files
--help
  Print usage summary
--verbose
  Verbose module output
--quiet
  Quiet module output
--ui
  Force launching GUI dialog

### Parameters:

input=name [required]
  LAS input file
  LiDAR input files in LAS format (*.las or *.laz)
output=name [required]
  Name for output vector map
id_layer=string
  Layer number to store generated point ID as category
  Set to 1 by default, use -c to not store it
return_layer=string
  Layer number to store return information as category
  Leave empty to not store it
class_layer=string
  Layer number to store class number as category
  Leave empty to not store it
rgb_layer=string
  Layer number where RBG colors are stored as category
  Leave empty to not store it
spatial=xmin,ymin,xmax,ymax
  Import subregion only
  Format: xmin,ymin,xmax,ymax - usually W,S,E,N
zrange=min,max
  Filter range for z data (min,max)
return_filter=string
  Only import points of selected return type
  If not specified, all points are imported
  Options: first, last, mid
class_filter=integer[,integer,...]
  Only import points of selected class(es)
  Input is comma separated integers. If not specified, all points are imported.
input_srs=string
  Input dataset projection (WKT or EPSG, e.g. EPSG:4326)
  Override input dataset coordinate system using EPSG code or WKT definition
max_ground_window_size=float
  Maximum window size for ground filter
  Default: 33
ground_slope=float
  Slope for ground filter
  Default: 1.0
max_ground_distance=float
  Maximum distance for ground filter
  Default: 2.5
initial_ground_distance=float
  Initial distance for ground filter
  Default: 0.15
ground_cell_size=float
  Initial distance for ground filter
  Default: 1

## DESCRIPTION

v.in.pdal supports the following PDAL filters:

- groud detection with Point Cloud Library (PCL) Progressive Morphological Filter (Zhang 2003) (filters.ground)
- filters.height (requires PCL)

v.in.pdal supports the following filters natively:

- 2D region filter
- Z coordinates filter
- return filter
- class filter

## EXAMPLES

Import only XYZ coordinates of points, limit the import to the current computational region and reproject to the Location projection during the import:

    v.in.pdal input=points.las output=points -c -r -w

## SEE ALSO

r.in.lidar, r3.in.lidar, g.region, v.vect.stats v.in.ogr,

## REFERENCES

- V. Petras, A. Petrasova, J. Jeziorska, H. Mitasova (2016): Processing UAV and lidar point clouds in GRASS GIS. XXIII ISPRS Congress 2016 [ISPRS Archives, ResearchGate]
- Zhang, Keqi, et al. A progressive morphological filter for removing nonground measurements from airborne LIDAR data. Geoscience and Remote Sensing, IEEE Transactions on 41.4 (2003): 872-882.

## AUTHOR

Vaclav Petras, NCSU GeoForAll Lab

## SOURCE CODE

Available at: v.in.pdal source code (history)

Accessed: Wednesday Jul 09 13:13:40 2025

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

© 2003-2023 GRASS Development Team, GRASS GIS 7.8.8 Reference Manual