Build Status |
---|
Julia package for reading and writing the LAS lidar format.
This is a pure Julia package for reading and writing ASPRS .las
files. Currently all LAS versions 1.1 - 1.4 and point formats 0 - 10 are semi-supported. By semi-supported, we mean that we do not read or write the waveform data.
TODO - Support for Waveform data is future work.
If the file fits into memory, it can be loaded using
using FileIO, LasIO
header, points = load("test.las")
where header
is of type LasHeader
, and, if it is point format 3, points
is a Vector{LasPoint3}
. LasPoint3
is an immutable that directly corresponds to the binary data in the LAS file. Use functions like xcoord(p::LasPoint, header::LasHeader)
to take out the desired items in the point.
If the file does not fit into memory, it can be memory mapped using
using FileIO, LasIO
header, points = load("test.las", mmap=true)
where points
is now a memory mapped PointVector{LasPoint3}
which behaves in the same way as the Vector{LasPoint3}
, but reads the points on the fly from disk when indexed, not allocating the complete vector beforehand.
See test/runtests.jl
for other usages.
LasIO comes with laszip which will be used to read/write laz files just like LAS file. There is no need for LazIO anymore.
TODO - build the laszip
instead of having the executable sitting there.
using FileIO, LasIO
header, points = load("test.laz")