[GRASS-git] [OSGeo/grass] f75284: r.in.pdal – a PDAL based replacement of r.in.lidar...

Māris Nartišs noreply at github.com
Thu Jul 15 09:00:45 PDT 2021


  Branch: refs/heads/master
  Home:   https://github.com/OSGeo/grass
  Commit: f75284087cd89e160dffdadce3c1c9c116bad593
      https://github.com/OSGeo/grass/commit/f75284087cd89e160dffdadce3c1c9c116bad593
  Author: Māris Nartišs <maris.gis at gmail.com>
  Date:   2021-07-15 (Thu, 15 Jul 2021)

  Changed paths:
    R .github/workflows/build.sh
    A .github/workflows/build_ubuntu18.sh
    A .github/workflows/build_ubuntu20.sh
    R .github/workflows/ci.yml
    A .github/workflows/ci_ubuntu18.yml
    A .github/workflows/ci_ubuntu20.yml
    M .github/workflows/codeql-analysis.yml
    M .github/workflows/gcc.yml
    M configure
    M configure.in
    M gui/wxpython/xml/toolboxes.xml
    M raster/Makefile
    A raster/r.in.pdal/Makefile
    A raster/r.in.pdal/bin_update.c
    A raster/r.in.pdal/bin_update.h
    A raster/r.in.pdal/bin_write.c
    A raster/r.in.pdal/bin_write.h
    A raster/r.in.pdal/filters.c
    A raster/r.in.pdal/filters.h
    A raster/r.in.pdal/grasslidarfilter.cpp
    A raster/r.in.pdal/grasslidarfilter.h
    A raster/r.in.pdal/grassrasterwriter.h
    A raster/r.in.pdal/info.cpp
    A raster/r.in.pdal/info.h
    A raster/r.in.pdal/lidar.c
    A raster/r.in.pdal/lidar.h
    A raster/r.in.pdal/main.cpp
    A raster/r.in.pdal/point_binning.c
    A raster/r.in.pdal/point_binning.h
    A raster/r.in.pdal/projection.c
    A raster/r.in.pdal/projection.h
    A raster/r.in.pdal/r.in.pdal.html
    A raster/r.in.pdal/r_in_lidar.png
    A raster/r.in.pdal/r_in_lidar_base_raster.png
    A raster/r.in.pdal/r_in_lidar_base_raster.svg
    A raster/r.in.pdal/r_in_lidar_binning_count.png
    A raster/r.in.pdal/r_in_lidar_binning_mean.png
    A raster/r.in.pdal/r_in_lidar_dem_mean3D.jpg
    A raster/r.in.pdal/r_in_lidar_zrange.png
    A raster/r.in.pdal/r_in_lidar_zrange.svg
    A raster/r.in.pdal/rast_segment.c
    A raster/r.in.pdal/rast_segment.h
    A raster/r.in.pdal/string_list.c
    A raster/r.in.pdal/string_list.h
    A raster/r.in.pdal/testsuite/data/points.csv
    A raster/r.in.pdal/testsuite/data/res_base_adj.ascii
    A raster/r.in.pdal/testsuite/data/res_coeff_var_z.ascii
    A raster/r.in.pdal/testsuite/data/res_ev1_z.ascii
    A raster/r.in.pdal/testsuite/data/res_ev2_z.ascii
    A raster/r.in.pdal/testsuite/data/res_ev3_z.ascii
    A raster/r.in.pdal/testsuite/data/res_filter_z_int_source.ascii
    A raster/r.in.pdal/testsuite/data/res_max_z.ascii
    A raster/r.in.pdal/testsuite/data/res_mean_intensity.ascii
    A raster/r.in.pdal/testsuite/data/res_mean_z.ascii
    A raster/r.in.pdal/testsuite/data/res_median_z.ascii
    A raster/r.in.pdal/testsuite/data/res_min_z.ascii
    A raster/r.in.pdal/testsuite/data/res_mode_cellid.ascii
    A raster/r.in.pdal/testsuite/data/res_mode_z.ascii
    A raster/r.in.pdal/testsuite/data/res_n_all.ascii
    A raster/r.in.pdal/testsuite/data/res_n_class_2.ascii
    A raster/r.in.pdal/testsuite/data/res_range_z.ascii
    A raster/r.in.pdal/testsuite/data/res_sidnmax_all.ascii
    A raster/r.in.pdal/testsuite/data/res_sidnmin_all.ascii
    A raster/r.in.pdal/testsuite/data/res_stddev_z.ascii
    A raster/r.in.pdal/testsuite/data/res_sum_z.ascii
    A raster/r.in.pdal/testsuite/data/res_variance_z.ascii
    A raster/r.in.pdal/testsuite/test_r_in_pdal_binning.py
    A raster/r.in.pdal/testsuite/test_r_in_pdal_selection.py
    M raster/rasterintro.html

  Log Message:
  -----------
  r.in.pdal – a PDAL based replacement of r.in.lidar (#1200)

* r.in.pdal: point cloud binning with PDAL

Reads points using PDAL, uses several PDAL filters including reprojection,
filters using custom filter, writes into memory structures.

Reuses r.in.lidar functionality with moving code into PDAL Filter
and Writer classes. Preserves most of r.in.lidar functionality,
but misses several features most notably scanning and auto extent.
Furthermore, it now assumes that the whole output raster fits
into memory. The multi-pass code was removed and it should be
replaced by use of the improved Segment with all-in-memory mode.

In comparison to r.in.lidar, here are more binning options, including eigenvalue statistic option according to suggestion of "Mallet et al. 2011. Relevance assessment of full-waveform lidar data for urban area classification"; Summation is performed with Neumaiers improved Kahan–Babuska algorithm; Variance, stddev and coeff_var with Welfords algorithm.

Testing infrastructure is also updated to better handle minimal version required of PDAL library.

Co-authored-by: Vaclav Petras <wenzeslaus at gmail.com>
Co-authored-by: Māris Nartišs <maris.nartiss at lu.lv>




More information about the grass-commit mailing list