Skip to content

Conversation

@JanCaha
Copy link
Collaborator

@JanCaha JanCaha commented Nov 28, 2025

Adds Height above ground algorithm and tests.

@hobu
Copy link
Member

hobu commented Nov 28, 2025

You might want to give them the option to use filters.hag_delaunay in addition to filters.hag_nn. Both of these use can use quite a bit of memory.

@JanCaha
Copy link
Collaborator Author

JanCaha commented Dec 1, 2025

Added the hag_delaunay algorithm and updated tests for that.

@pmagdon
Copy link

pmagdon commented Dec 4, 2025

Thank you for adding the function! Exactly what I am looking for, since there seem to be no other tool in QGIS to perform a point cloud normalization. Hope it will be adopted in the next release.

@JanCaha
Copy link
Collaborator Author

JanCaha commented Dec 5, 2025

This should go into the next version of QGIS, that is the plan 👍 This is part of the crowdfunding described https://www.lutraconsulting.co.uk/crowdfunding/qgis-3d-for-open-source-digital-twins

Copy link
Collaborator

@wonder-sk wonder-sk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this algorithm will also need to worry about potential artifacts at the edges (just like e.g. density or to_raster) because it needs points from the neighborhood, and that neighborhood may be in some other tile...

Comment on lines 83 to 96
if (!argReplaceZWithHeightAboveGround->set())
{
replaceZWithHeightAboveGround = false; // default
}

if (!argNNCount->set())
{
nnCount = 1; // default
}

if (!argNNMaxDistance->set())
{
nnMaxDistance = 0; // default
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aren't these defaults already defined in addArgs() ? do we need this code at all?

dimensions = pipeline.arrays[0].dtype.names

# check dimensions
assert "HeightAboveGround" in dimensions
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my expectation was that this new dimension would not get saved when replace-z == true (unnecessary duplication)

src/translate.cpp
src/utils.cpp
src/vpc.cpp
src/height_above_ground.cpp
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's keep it here as is, but it would be good to keep the list alphabetically sorted :-)

@wonder-sk wonder-sk merged commit 18f3f93 into PDAL:main Dec 9, 2025
5 checks passed
@JanCaha JanCaha deleted the hag-alg branch December 10, 2025 08:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants