---
name: "v.in.pdal"
section: "1grass"
platform: "linux"
package: "grass-doc"
version: "7.8.5-1+deb11u1"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/v.in.pdal"
---

# v.in.pdal(1grass)

Converts LAS LiDAR point clouds to a GRASS vector map with PDAL.

## 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)

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

© 2003-2020 GRASS Development Team, GRASS GIS 7.8.5 Reference Manual
