build PDAL with LAZperf

710 views Asked by At

I'm building PDAL this way in my Ubuntu 18 :

cd /home/magno/install && \
    git clone https://github.com/hobu/laz-perf.git  && \
    cd laz-perf && \
    mkdir build && \
    cd build && \
    cmake .. \
    -DEMSCRIPTEN=1 \
    -DCMAKE_TOOLCHAIN_FILE=/home/magno/install/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake && \
    VERBOSE=1 make && \
    make install

cd /home/magno/install && \
    git clone https://github.com/pgpointcloud/pointcloud && \
    cd pointcloud && \
    ./autogen.sh && \
    ./configure --with-lazperf=/usr/local/ && \
    make && \
    make install

cd /home/magno/install && \
    git clone https://github.com/PDAL/PDAL.git && \
    cd PDAL && \
    mkdir build && \
    cd build && \
    cmake -G Ninja .. && \
    ninja && \
    ninja install

Running PGUSER=postgres PGPASSWORD=*** PGHOST=localhost PGPORT=5432 ctest can confirm all was fine.

But when I try to check a LAZ file I'm getting this error:

PDAL: readers.las: Can't read compressed file without LASzip or LAZperf decompression library.

This is my pipe file:

{
  "pipeline":[
    {
      "type":"readers.las",
      "filename":"airport.laz",
      "spatialreference":"EPSG:32616",
      "compression":"lazperf"
    },
    {
      "type":"writers.pgpointcloud",
      "connection":"dbname=mydb host='localhost' user='postgres' password='****'",
      "table":"patchs",
      "compression":"lazperf",
      "srid":"32616",
      "overwrite":"false"
    }
  ]
}

I think lazperf is ok because pgpointcloud doesn't complains with PGUSER=postgres PGPASSWORD=**** PGHOST=localhost make installcheck and tells me :

#  PointCloud is now configured for 
# -------------- Compiler Info ------------- 
#  C compiler:           gcc -g -O2
#  SQL preprocessor:     /usr/bin/cpp -traditional-cpp -w -P
# -------------- Dependencies -------------- 
#  PostgreSQL config:    /usr/bin/pg_config
#  PostgreSQL version:   PostgreSQL 12.3 (Debian 12.3-1.pgdg100+1) (120)
#  Libxml2 config:       /usr/bin/xml2-config
#  Libxml2 version:      2.9.4
#  LazPerf status:       /usr/local//include/laz-perf
#  CUnit status:         enabled

PDAL tests tells me nothing about compression.

How can I build or tell PDAL about my LAZPerf installation?

EDIT pdal info install/PDAL/test/data/las/autzen_trim.las is all ok .

1

There are 1 answers

0
Magno C On

God bless the Google!

Found the solution by reading this, this and this.

Just need to change to cmake -G Ninja -DLazperf_DIR=/usr/local/ -DWITH_LAZPERF=ON ..

and voilĂ :

-- The following OPTIONAL packages have been found:

 * Lazperf
 * ZSTD
   General compression support
 * LibXml2
 * PkgConfig
 * PythonInterp