libLAS banner Home | Docs | Bugs | FAQ | Download

libLAS’ Relationship to LAStools

Licensing

libLAS is available under the terms of the BSD License. LAStools open source licensing status is unclear. It is “freely available”, and though the authors probably intend for it to be widely used, licensing rights are not properly affixed to the source code, and it must be assumed that the software is currently “All Rights Reserved” and individually licensable.

Utilities

Because libLAS’ focus is on being a software development library to enable LAS processing, and not so much a processing library per se, libLAS does 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.

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 software
  • Plucking out first/last returns (las2las 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

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