qgis / QGIS-Enhancement-Proposals

QEP's (QGIS Enhancement Proposals) are used in the process of creating and discussing new enhancements for QGIS
116 stars 37 forks source link

[WIP] QGIS 3D general enhancement proposal #252

Open Asnaia opened 2 years ago

Asnaia commented 2 years ago

QGIS 3D general enhancement proposal

Date 2022/05/13

Author Oslandia

Contact evren@oslandia.com

maintainer @benoitdm-oslandia @ptitjano

Version QGIS 3.26

Summary

As part of the OpenLog consortium, Oslandia is in the process of developing a drillhole data visualization plugin supporting 3D, cross-section, and strat/strip log views.

The development effort is split into two separate projects:

  1. a standard python plugin, the OpenLog plugin
  2. a PostGreSQL database, the xplordb database

In addition, Oslandia intends to implement a series of major features into the 3D module of QGIS. Although the operational end goal of the consortium is to provide a drillhole data viewer in QGIS, the feature list was built with the aim to provide enhanced UI/UX, performance, end-user documentation, and capability for all users while preserving scalability, maintainability, and stability.

Three main axes of development, based on varying levels of usage universality, are being considered here:

  1. fundamental usage features refer to critically needed capabilities that should be added as soon as practically feasible, these features involve basic 3D viewer indicators, controls, or modes of interaction.
  2. generic usage features refer to widely beneficial capabilities that will find use regardless of domain of application, these features involve intermediate 3D viewer labeling, views, or modes of interaction.
  3. situational usage features refer to less commonly requested capabilities that will find use in a diverse range of applications and which implementation does not compromise the overall end-user experience.

Feature proposals

Feature Usage Category Issue/PR
display Cartesian axis indicator / 3D compass Fundamental Indicators/Interaction https://github.com/qgis/QGIS/pull/48109
improve camera control doc Generic Doc
display 3D bounding box outline with labels, titles, and tick-marks Generic labeling/Interaction https://github.com/qgis/QGIS/issues/48539
define 6 plane (NSWEUD) clipping Generic Interaction https://github.com/qgis/QGIS/issues/48541
display multiple 3D views (NSWEUD) Generic Interaction
display applied style legends Generic labeling https://github.com/qgis/QGIS/issues/48543
display regular cuboid 3D grids Situational Asset
set vertical exaggeration Situational Interaction/Interaction
build and display 3D cross-section Situational Indicators
project 3D cross-section to 2D planes Situational Indicators
overlay raster/vector/annotation data onto cross-section planes Situational Indicators/labeling

Design Illustrations

Cross-section overlays

image

2D Surfaces and 3D volume display

image

Cross section projection box

image

Bounding box and 3D compass

image

Backwards Compatibility

This proposal concerns new features, backwards compatibility is not required.

Votes

(required)

vpicavet commented 2 years ago

This QEP is intended to share our development roadmap and context, and discuss features and general orientations.

@Asnaia could you add a [WIP] label to the title, so as to clarify that the QEP content will be modified later on according to reactions, or whenever further details are needed ?

Some example illustrations would be welcome a well :-)

Asnaia commented 2 years ago

@Asnaia could you add a [WIP] label to the title, so as to clarify that the QEP content will be modified later on according to reactions, or whenever further details are needed ?

Done

Some example illustrations would be welcome a well :-)

Coming soon

roya0045 commented 2 years ago

In regards to geologic uses, have you looked into the gempy library. It would be too big as a plugin but some aspect may be useful as inspiration for a more complete representation of the information provided by sampling.

Asnaia commented 2 years ago

In regards to geologic uses, have you looked into the gempy library. It would be too big as a plugin but some aspect may be useful as inspiration for a more complete representation of the information provided by sampling.

I am very familiar with the uses of Gempy, a good amount of my own research work was integrated into it over the years and its capabilities are indeed remarkable. The GIS component of 3D geological modelling platforms, proprietary and open source, is always substandard and it is a dream of mine to build one that integrates with QGIS and leverages all its potential. With that said, it is much too early to make use of Gempy as we are merely at the step of data visualization while Gempy is meant for advanced implicit stochastic 3D geological and geophysical modelling. This will take a lot more effort and funding than we currently have access to.