GRASS logo

Note: A new GRASS GIS stable version has been released: GRASS GIS 7.4, available here.
Updated manual page: here

NAME

v.in.lidar - Converts LAS LiDAR point clouds to a GRASS vector map with libLAS.

KEYWORDS

vector, import, LIDAR

SYNOPSIS

v.in.lidar
v.in.lidar --help
v.in.lidar [-ptoreib] input=name output=name [spatial=xmin,ymin,xmax,ymax[,xmin,ymin,xmax,ymax,...]] [location=name] [return_filter=string] [class_filter=integer[,integer,...]] [--overwrite] [--help] [--verbose] [--quiet] [--ui]

Flags:

-p
Print LAS file info and exit
-t
Do not create attribute table
-o
Override dataset projection (use location's projection)
-r
Limit import to the current region
-e
Extend region extents based on new dataset
-i
Create the location specified by the "location" parameter and exit. Do not import the vector data.
-b
Do not build topology
--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
spatial=xmin,ymin,xmax,ymax[,xmin,ymin,xmax,ymax,...]
Import subregion only
Format: xmin,ymin,xmax,ymax - usually W,S,E,N
location=name
Name for new location to create
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.

Table of contents

DESCRIPTION

v.in.lidar converts LiDAR point clouds in LAS format to a GRASS vector, using the libLAS library. The created vector is true 3D with x, y, z coordinates.

For larger datasets, it is recommended to not build topology (-b flag). Also, creating a table with attributes can take some time for larger datasets.

The optional spatial parameter defines spatial query extents. This parameter allows the user to restrict the region to a spatial subset while importing the data. All LiDAR points falling into this rectangle subregion are imported. The -r current region flag is identical, but uses the current region settings as the spatial bounds (see g.region).

A LiDAR pulse can have multiple returns. The first return values can be used to obtain a digital surface model (DSM) where e.g. canopy cover is represented. The last return values can be used to obtain a digital terrain model (DTM) where e.g. the forest floor instead of canopy cover is represented. The return_filter option allows selecting one of first, mid, or last returns.

LiDAR points can be already classified into standardized classes. For example, class number 2 represents ground (for other classes see LAS format specification in references). The class_filter option allows selecting one or more classes, as numbers (integers) separated by comma.

Location Creation

v.in.lidar attempts to preserve projection information when importing datasets if the source format includes projection information, and if the LAS driver supports it. If the projection of the source dataset does not match the projection of the current location v.in.lidar will report an error message ("Projection of dataset does not appear to match current location") and then report the PROJ_INFO parameters of the source dataset.

If the user wishes to ignore the difference between the apparent coordinate system of the source data and the current location, they may pass the -o flag to override the projection check.

If the user wishes to import the data with the full projection definition, it is possible to have v.in.lidar automatically create a new location based on the projection and extents of the file being read. This is accomplished by passing the name to be used for the new location via the location parameter. Upon completion of the command, a new location will have been created (with only a PERMANENT mapset), and the vector map will have been imported with the indicated output name into the PERMANENT mapset.

NOTES

The typical file extensions for the LAS format are .las and .laz (compressed). The compressed LAS (.laz) format can be imported only if libLAS has been compiled with laszip support. It is also recommended to compile libLAS with GDAL, needed to test for matching projections.

EXAMPLE

This example is analogous to the example used in the GRASS wiki page for importing LAS as vector points.

The sample LAS data are in the file "Serpent Mound Model LAS Data.las", available at appliedimagery.com

  # print LAS file info
  v.in.lidar -p input="Serpent Mound Model LAS Data.las"

  # create location with projection information of the LAS data
  v.in.lidar -i input="Serpent Mound Model LAS Data.las" location=Serpent_Mound

  # quit and restart GRASS in the newly created location "Serpent_Mound"
  # real import of LiDAR LAS data, without topology and without attribute table
  v.in.lidar -tb input="Serpent Mound Model LAS Data.las" output=Serpent_Mound_Model_pts

REFERENCES

ASPRS LAS format
LAS library
LAS library C API documentation

AUTHOR

Markus Metz
based on v.in.ogr

Last changed: $Date: 2015-02-13 07:16:22 -0800 (Fri, 13 Feb 2015) $

SOURCE CODE

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


Note: A new GRASS GIS stable version has been released: GRASS GIS 7.4, available here.
Updated manual page: here

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

© 2003-2018 GRASS Development Team, GRASS GIS 7.0.7svn Reference Manual