
.. _lastools_liblas:

libLAS' Relationship to `LAStools`_
------------------------------------------------------------------------------

Licensing
..............................................................................

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 http://www.cs.unc.edu/~isenburg/lastools/download/LICENSE.txt for 
specific details on which utilities and libraries are licensed as free software.


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 *did* 
re-implement many of the `LAStools`_ :ref:`command-line utilities <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 (:ref:`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
* 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
  <http://www.cs.unc.edu/~isenburg/lastools/download/las2las_README.txt>`__)
* Plucking out first/last returns (:ref:`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)
* Working in an academic or non-commercial setting

.. _`LAStools`: http://www.cs.unc.edu/~isenburg/lastools/
.. _`BSD license`: http://www.opensource.org/licenses/bsd-license.php

.. _`OGR-writeable`: http://gdal.org/ogr/ogr_formats.html