QGIS 3D Improvement: On-Screen Navigation, Bookmarks, Rendering Point Feature as Billboard, and Measuring Tool
Google Summer of Code 2019
- Student - Ismail Sunni
- Organization - OSGeo, QGIS
- Developer Community - QGIS Developers
QGIS 3D is a great feature that has been introduced in QGIS 3.0 in 2018. It is still missing some features that are needed or can be helpful for the user though. In this project, I will work on 4 improvements to fill that missing features:
- On-Screen Navigation: help the user to navigate the 3D view
- Measuring Tool: measure distance in 3D view
- Rendering Point Feature as Billboard: show a point feature as a billboard (use case: show icon location and point cloud rendering)
- Bookmarks: help the user to save a 3D view and/or go back to a saved 3D view
QGIS Before GSoC 2019
- It's possible to navigate in 3D Map View by using mouse or keyboard. It's quite easy to do it unless you are not familiar with it. Just like me. It's easy to get lost and confused. You are not sure which key or movement to zoom, tilt, pan, or rotate the map view.
- There is no way to do the measurement in 3D Map view.
- There is no billboard rendering support for a point in 3D.
- There is no bookmark feature to save a specific scene in the 3D map view. There is only reset view which set the view from the top.
Added Value of GSoC Project
- On-Screen navigation for 3D Map View is added with these features: zoom in and out, pan, rotate with a compas-like widget, tilt up and down. It is merged to the code base and will be released in QGIS 3.10.
- 3D Measurement Tool to measure distance in the 3D Map View is added. It is merged to the code base and will be released in QGIS 3.10.
- 3D Point Rendering as A Billboard is added that gives the option to render a point a billboard. The billboard can be set with a symbol from QGIS (including SVG). The PR has been reviewed by QGIS core committers, ready to be merged in upcoming days.
Work to be done
- 3D Map View bookmarks is not implemented in this project duration due to time constraint since the billboard rendering implementation needs more time than the initial expectation.
- Extra feature for 3D On-Screen Navigation: Make it as a floating widget, but it will need to add another dependency if implemented with QtQuick or extra work if implemented with manual rendering in the 3D map scene
- Extra feature for 3D Measurement Tool: Show the Z-value difference between two consecutive points
- Extra feature for 3D Billboard Rendering for Point:
- Add data-driven symbol support: It needs multi-texture rendering, currently it only supports one texture.
- Add a vertical line from the feature to the billboard
How to use the features
- All merged featured can be used in QGIS master by building it from source (following this step) or in the incoming QGIS 3.10 release
- Video about how to use it:
- Final Report
- Pull Requests: