.. _features:

******************************************************************************
Features
******************************************************************************

libLAS provides a number of attractive features for a software developer 
looking to incorporate support for the `ASPRS LAS format`_ in their software.

Open Source
..............................................................................

libLAS is open source software.  You can embed it in your own applications 
(and even resell it) as long as you follow the crediting restriction of the BSD 
license.  See :ref:`license` for more detail. 

Multiple APIs
..............................................................................

libLAS has C, C++, .NET, Ruby, and Python APIs.   

Spatial Reference System Support
..............................................................................

Linked against a 1.2.5+ version of `libgeotiff`_, you can set and get the
spatial reference systems of LAS files using simple `proj.4`_ coordinate
system definitions. Alternatively, with libLAS 1.2, you can link against
`GDAL`_ to be able to manipulate spatial references using `OGC WKT`_. Version
1.6 or greater of libLAS can be used in combination with `GDAL`_ 1.8+ to
support `vertical coordinate systems`_ as well.

Simple Variable Length Record Abstraction
..............................................................................

libLAS provides a sensible abstraction for working with variable length records (VLR) 
in LAS files, and it transparently manages the VLRs related to spatial referencing 
systems for you.  

Command-line Utilities
..............................................................................

libLAS provides ports of the :ref:`lastools_liblas` utilities by Martin Isenburg for doing 
things like translating from one version of the LAS format to another, inspecting 
header information, and translating LAS data to and from text.

.. seealso::
    :ref:`utilities` contains descriptions of the utilities that libLAS provides 
    and :ref:`lastools_liblas` contains information about the relationship 
    between libLAS and LAStools.

Cross-platform operation
..............................................................................

libLAS is known to work on all editions of Microsoft Visual C++ 7.1+ (Windows) and 
GCC 4.1+ (Mac OS X and Linux) platforms on both big- and little-endian architectures.

.. _`proj.4`: http://proj.maptools.org/
.. _`GDAL`: http://www.gdal.org
.. _`libgeotiff`: http://www.remotesensing.org/geotiff/geotiff.html
.. _`vertical coordinate systems`: http://trac.liblas.org/wiki/VerticalCS
.. _`ASPRS LAS format`: http://www.asprs.org/society/committees/standards/lidar_exchange_format.html
.. _`OGC WKT`: http://en.wikipedia.org/wiki/Well-known_text