v.in.pdal(1)

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: Monday Jul 13 00:51:28 2026

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

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