/LASlibJNI

JNI bindings for LAStools/LASlib C++ API for reading/writing LIDAR data stored in standard LAS or in compressed LAZ format

Primary LanguageJava

LASlibJNI

Java Native Interface (JNI) bindings based on LAStools/LASlib C++ API for reading/writing LIDAR data stored in standard LAS or in compressed LAZ format (versions 1.0 - 1.3).

Bundled prebuilt libraries

LASlibJNI comes bundled with prebuilt libraries for Windows 64bit and Linux 64bit

Build from source

To build LASlibJNI from source, run:

git clone https://github.com/jsimomaa/LASlibJNI.git
cd LASlibJNI
mvn install

You can find the built JAR from LASlibJNI/target/LASlibJNI-${version}.jar

How to use

import org.lastools.LASHeader;
import org.lastools.LASPoint;
import org.lastools.LASReader;
import org.lastools.LASlibJNI;

public static void main(String [] args) {
    // Initialize the native library
    LASlibJNI.initialize();
    
    // Get an instance of LASReader for provided file
    try (LASReader reader = new LASReader("src/test/resources/1.0_0.las")) {
    
        // Get the header information of the file
        LASheader header = reader.getHeader();
        
        // Check that the file is supported and in tact
        if (header.check()) {
            // Ok, read points
            while (reader.readPoint()) {
                LASPoint point = reader.getPoint();
                double x = point.getX();
                double y = point.getY();
                double z = point.getZ();
                System.out.println(x + y + z);
            }
        }
    }
}

Notes

  • Currently supports only reading of files