libLAS’ Relationship to LAStools


libLAS is available under the terms of the BSD License. Many parts of LAStools, especially those that are similar to those provided by libLAS, are now LGPL. See for specific details on which utilities and libraries are licensed as free software.


Because libLAS’ focus is on being a software development library to enable LAS processing, and not so much a processing library per se, libLAS did re-implement many of the LAStools command-line utilities to provide utility and test the functionality of the library. libLAS’ port of these utilities will always lag LAStools implementations, however, and if you are looking for the latest and greatest in functionality, you should look there. The port that libLAS contains of the LAStools has been blessed by the Isenburg and Shewchuk as BSD-licensed.

Additionally, the libLAS version of the LAStools utilities are no longer command-line compatible. So while they may have some common heritage, and the two packages copy each other in terms of features and behaviors, they are now quite divergent.

Which one to use for what

Use libLAS for:

  • Manipulating LAS files directly in C, C++, Python, .NET, and Ruby (caveats apply)

  • Embedding LAS read/write support in your own commercial software

  • Plucking out first/last returns (las2las: Advanced LAS filtering and manipulation or do it yourself with libLAS’ programatic API)

  • Reclassifying point data with your own algorithm(s)

  • Decimating data (simple thinning by removing a given number of points)

  • Converting data between formats (1.0 <-> 1.2, etc)

  • Converting data to OGR-writeable formats

  • Adding coordinate system info to an LAS file

  • Reprojecting data from one coordinate system to another (vertical datum transformation included soon!)

  • Spatially indexing data for fast bounds lookup

  • Working in a commercial setting

Use LAStools for:

  • Creating DEMs from LAS data

  • Creating TINs from LAS data

  • Calculating convex or concave hulls from LAS data

  • Generating contours from LAS data

  • Advanced LAS command-line attribute processing (las2las)

  • Plucking out first/last returns (las2las: Advanced LAS filtering and manipulation or yourself with a programatic API)

  • Decimating data (thinning by removing points within a grid or window)

  • Converting data between formats (1.0 <-> 1.2, etc)

  • Working in an academic or non-commercial setting