Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Export pointcloud layers #49280

Merged
merged 45 commits into from
Aug 31, 2022
Merged

Conversation

uclaros
Copy link
Contributor

@uclaros uclaros commented Jul 8, 2022

Description

This PR allows the users to export a (potentially filtered) point cloud layer to vector or point cloud formats. Current supported formats are:

  • Temporary scratch layer (memory layer)
  • GeoPackage
  • Shapefile
  • DXF
  • LAZ (requires build WITH_PDAL)

image

Supports filtering by extent, filtering by Z range, crs re-projection and limiting the number of exported points.

image

Funded by: State of Vorarlberg and Swiss QGIS user group

@github-actions github-actions bot added this to the 3.28.0 milestone Jul 8, 2022
@github-actions github-actions bot added the GUI/UX Related to QGIS application GUI or User Experience label Jul 8, 2022
src/core/pointcloud/qgspointcloudlayerexporter.h Outdated Show resolved Hide resolved
src/core/pointcloud/qgspointcloudlayerexporter.h Outdated Show resolved Hide resolved
src/core/pointcloud/qgspointcloudlayerexporter.h Outdated Show resolved Hide resolved
src/core/pointcloud/qgspointcloudlayerexporter.cpp Outdated Show resolved Hide resolved
src/core/pointcloud/qgspointcloudlayerexporter.cpp Outdated Show resolved Hide resolved
src/core/pointcloud/qgspointcloudlayerexporter.cpp Outdated Show resolved Hide resolved
src/app/qgisapp.cpp Outdated Show resolved Hide resolved
<item row="0" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Limit total number of exported points to:</string>
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
<string>Limit total number of exported points to:</string>
<string>Limit total number of exported points to</string>

No colon on labels.
And unless there is a plan to add more entries, I was wondering whether we need that group box with single item (with almost the same label). Not HIG compliant. What about:

  • a single spinbox showing no limit and then people enter their value
    image

  • a checkbox followed by a spinbox, on the same line
    image

We would probably then need to move that single option somewhere upper...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There's a though to add a separate widget in that group that would limit the total number of points by stopping at a particular node level, resulting in a (kind of) predefined point density.

While groupboxes with single items do clutter the ui, imho in this specific case it makes sense, since it's on a list of collapsible-checkable groupboxes. Having one type of filter without a groupbox would make it look weirder and also make it stand-out like it's a more important setting.

Since the HIG says to avoid using those, I'd propose to keep it like that, if you do not insist!

Copy link
Contributor

Choose a reason for hiding this comment

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

There's a though to add a separate widget in that group that...

The you hit my "unless there is a plan to add more entries"

Having one type of filter without a groupbox would make it look weirder and also make it stand-out like it's a more important setting.

Agreed. Reason why I was suggesting to move it somewhere else (no idea which other options it could have cohabited with though)

Since the HIG says to avoid using those, I'd propose to keep it like that, if you do not insist!

No insistence. See above.

@DelazJ
Copy link
Contributor

DelazJ commented Aug 5, 2022

@uclaros can you also hide the scrollbar frame border and reduce the margins of the dialog? See #49568

@DelazJ
Copy link
Contributor

DelazJ commented Aug 5, 2022

And question: should we consider in the future adding "Temporary scratch layer" to vector layer export types also?

@DelazJ DelazJ added the Needs Documentation When merging a labeled PR, an issue will be created in the Doc repo. label Aug 5, 2022
@github-actions
Copy link

github-actions bot commented Aug 5, 2022

@uclaros
This pull request has been tagged as requiring documentation.

A documentation ticket will be opened at https://github.com/qgis/QGIS-Documentation when this PR is merged.

Please update the description (not the comments) with helpful description and screenshot to help the work from documentors.
Also, any commit having [needs-doc] or [Needs Documentation] in will see its message pushed to the issue, so please be as verbose as you can.

Thank you!

@uclaros
Copy link
Contributor Author

uclaros commented Aug 5, 2022

@uclaros can you also hide the scrollbar frame border and reduce the margins of the dialog? See #49568

I'm not sure I completely agree with that change; it doesn't look too good when the scrollbar appears... I left a comment on your PR

And question: should we consider in the future adding "Temporary scratch layer" to vector layer export types also?

This is not a bad idea! Copy and paste as a temporary scratch layer is not as straight forward as export! Doing it with lots of data would also be faster by skipping the clipboard middleman!

@github-actions github-actions bot added the stale Uh oh! Seems this work is abandoned, and the PR is about to close. label Aug 21, 2022
@github-actions github-actions bot closed this Aug 28, 2022
@wonder-sk wonder-sk reopened this Aug 29, 2022
@qgis qgis deleted a comment from github-actions bot Aug 29, 2022
@qgis qgis deleted a comment from github-actions bot Aug 29, 2022
@github-actions github-actions bot removed the stale Uh oh! Seems this work is abandoned, and the PR is about to close. label Aug 29, 2022
src/app/qgisapp.cpp Outdated Show resolved Hide resolved
src/core/pointcloud/qgspointcloudlayerexporter.cpp Outdated Show resolved Hide resolved
src/core/pointcloud/qgspointcloudlayerexporter.h Outdated Show resolved Hide resolved
src/core/pointcloud/qgspointcloudlayerexporter.h Outdated Show resolved Hide resolved
src/core/pointcloud/qgspointcloudlayerexporter.h Outdated Show resolved Hide resolved
src/app/qgisapp.cpp Outdated Show resolved Hide resolved
src/core/pointcloud/qgspointcloudlayerexporter.cpp Outdated Show resolved Hide resolved
src/core/pointcloud/qgspointcloudlayerexporter.cpp Outdated Show resolved Hide resolved
src/core/pointcloud/qgspointcloudlayerexporter.cpp Outdated Show resolved Hide resolved
src/core/pointcloud/qgspointcloudlayerexporter.h Outdated Show resolved Hide resolved
Copy link
Member

@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.

🎉

@github-actions
Copy link

@uclaros
A documentation ticket has been opened at qgis/QGIS-Documentation#7745
It is your responsibility to visit this ticket and add as much detail as possible for the documentation team to correctly document this change.
Thank you!

@zacharlie zacharlie added Changelog Items that are queued to appear in the visual changelog - remove after harvesting ChangelogHarvested This PR description has been harvested in the Changelog already. and removed Changelog Items that are queued to appear in the visual changelog - remove after harvesting labels Oct 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ChangelogHarvested This PR description has been harvested in the Changelog already. Feature GUI/UX Related to QGIS application GUI or User Experience Needs Documentation When merging a labeled PR, an issue will be created in the Doc repo. Point Clouds
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants