qgis / QGIS

QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS)
https://qgis.org
GNU General Public License v2.0
10.65k stars 3.01k forks source link

3DTiles : QGis 3DView does not display the best detailed tiles #56270

Open P-SLISSE opened 9 months ago

P-SLISSE commented 9 months ago

What is the bug or the crash?

Hi, I would relate this issue with one of my 3DTiles tileset. In the 2DVue, the tiles are rendered with the best resolution (loading the best detailed tiles). BUT, in the 3DVue, the display is blocked at level of detail L16; or there is much more detailed tiles L17, L18, L19, L20, L21 available which are not used. I cannot explain why QGis dont display those detailed tiles. (UpView is 3DVue, DownView is 2DVue) image

In the main tileset.json, the first tiles until L16 (included) are directly discribed in the tileset. For L17 and following, the main tileset reference secondary tilesets like L17_00001.json...

Using directly Cesium to display the 3DTiles, there is no problem to display all the tiles included the most detailed ones (L21*) You can see the result expected with this link : https://3d.strasbourg.eu/CESIUM_OPENDATA/?X=4296384.520234856&Y=577085.6771209526&Z=4873778.417730428&heading=0.13345495934790463&pitch=-1.5706786807786512&roll=0 Check in the MENU "Afficher le Photomaillage PSMV 2017" image

Could anyone help ?

Surprisingly, there is some but few tiles that are displayed in full resolution ! image

3DTile connection for QGis : 3DTiles_connection_parameters.zip

Steps to reproduce the issue

  1. Add the 3DTiles in the layers, using the 3DTiles_connection_parameters.zip (unzip it) 3DTiles_connection_parameters.zip
  2. Set the Layer properties symbology maximum error to 0,5 image
  3. Open a new 3DVue and set the parameters as below image
  4. Scroll in the 3DView to display more detailed tiles
  5. You can see that the resolution in 3DView is blocked at L16*.b3dm files

Versions

Version de QGIS 3.34.3-Prizren Révision du code 47373234ac Version de Qt 5.15.3 Version de Python 3.9.18 Version de GDAL/OGR 3.8.3 Version de Proj 9.3.1 Version de la base de données du registre EPSG v10.098 (2023-11-24) Version de GEOS 3.12.1-CAPI-1.18.1 Version de SQLite 3.41.1 Version de PDAL 2.6.0 Version du client PostgreSQL 15.2 Version de SpatiaLite 5.1.0 Version de QWT 6.1.6 Version de QScintilla2 2.13.4 Version de l'OS Windows 10 Version 2009

Extensions Python actives CityJSON-loader 0.8.1 localiserparcelle 3.6.0 profiletool 4.2.6 StreetView 3.2 valuetool 3.0.17 db_manager 0.1.20 grassprovider 2.12.99 MetaSearch 0.3.6 processing 2.12.99

Supported QGIS version

New profile

Additional context

The tileset with this issue is produced by Bentley ContextCapture. I can reproduce this issue with another 3DTiles tileset (also produces with Bentley ContextCapture) I this second case, only a few tiles are not displayed in full resolution in 3D (for exemple at coordinates 2052421,7285687 in EPSG:3948) 3DTiles_PM2018connection_parameters.zip

I do not have noticed this issue with tileset produced by Skyline Photomesh.

P-SLISSE commented 9 months ago

I've found the origin of the issue.

In my data, there is some tileset.json files that are 'empty' I mean by empty that in those tileset.json files, there is no 'content' See below one of this file : { "asset": { "version": "1.0", "gltfUpAxis": "Y" }, "geometricError": 1, "root": { "boundingVolume": { "sphere": [ 4189495.23121586, 569034.320886334, 4759699.52651889, 0 ] }, "refine": "REPLACE", "geometricError": 0.5, "SMHeader": { "id": 68861, "arePoints3d": true, "resolution": 0.5, "areTextured": 1, "nodeCount": 0, "nbFaceIndexes": 0 } } }

The 2DView is not sensitive to those 'empty no content' files, but 3DVue is.

Do you mind the 3DVue can evolve so it isn't also sensitive to 'empty no content' files ?

P-SLISSE commented 9 months ago

I removed all the tileset.json files which does not contain any 'content' Now it works without issue.