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.04k stars 2.92k forks source link

KML with Nested MultiGeometry is not Rendered #57837

Open ismailsunni opened 2 weeks ago

ismailsunni commented 2 weeks ago

What is the bug or the crash?

If a KML has a nested MultiGeometry tag, QGIS can't render it. The sample files can be found here. A real file that has this bug can be found here: https://developers.google.com/kml/documentation/us_states.kml

Preview: image

If you load it in Google Earth, both files are loaded and rendered. Based on the KML reference, the nested MultiGeometry should be supported.

Steps to reproduce the issue

  1. Open QGIS
  2. Load the files in the links above
  3. The one with nested MultiGeometry tag is not rendered, while the one without is rendered

Versions

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">

QGIS version | 3.36.3-Maidenhead | QGIS code revision | 2df9655469b -- | -- | -- | -- Qt version | 5.15.3 Python version | 3.10.12 GDAL/OGR version | 3.4.1 PROJ version | 8.2.1 EPSG Registry database version | v10.041 (2021-12-03) GEOS version | 3.10.2-CAPI-1.16.0 SQLite version | 3.37.2 PDAL version | 2.3.0 PostgreSQL client version | 14.11 (Ubuntu 14.11-0ubuntu0.22.04.1) SpatiaLite version | 5.0.1 QWT version | 6.1.4 QScintilla2 version | 2.11.6 OS version | Pop!_OS 22.04 LTS   |   |   |   Active Python plugins coveragebuilder | version 0.5.1 plugin_reloader | 0.9.4 qgis_resource_sharing | 1.0.0 nexsis_sdis_atlas_plugin | 0.1.0 processing_r | 4.1.0 qgis-first-aid-plugin | 3.0.2 qgis_hub_plugin | 0.1.2 db_manager | 0.1.20 MetaSearch | 0.3.6 processing | 2.12.99 QGIS version 3.36.3-Maidenhead QGIS code revision [2df9655469b](https://github.com/qgis/QGIS/commit/2df9655469b) Qt version 5.15.3 Python version 3.10.12 GDAL/OGR version 3.4.1 PROJ version 8.2.1 EPSG Registry database version v10.041 (2021-12-03) GEOS version 3.10.2-CAPI-1.16.0 SQLite version 3.37.2 PDAL version 2.3.0 PostgreSQL client version 14.11 (Ubuntu 14.11-0ubuntu0.22.04.1) SpatiaLite version 5.0.1 QWT version 6.1.4 QScintilla2 version 2.11.6 OS version Pop!_OS 22.04 LTS Active Python plugins coveragebuilder version 0.5.1 plugin_reloader 0.9.4 qgis_resource_sharing 1.0.0 nexsis_sdis_atlas_plugin 0.1.0 processing_r 4.1.0 qgis-first-aid-plugin 3.0.2 qgis_hub_plugin 0.1.2 db_manager 0.1.20 MetaSearch 0.3.6 processing 2.12.99 ### Supported QGIS version - [X] I'm running a supported QGIS version according to [the roadmap](https://www.qgis.org/en/site/getinvolved/development/roadmap.html#release-schedule). ### New profile - [X] I tried with a new [QGIS profile](https://docs.qgis.org/latest/en/docs/user_manual/introduction/qgis_configuration.html#working-with-user-profiles) ### Additional context _No response_
agiudiceandrea commented 2 weeks ago

@ismailsunni, the issue doesn't occur on my Windows 10 system using either QGIS 3.36.3 or QGIS 3.34.7 (from OSGeo4W) through either the KML or the LIBKML GDAL drivers image

The issue occurring on your system may by due to the outdated version of the GDAL/OGR library used by QGIS on your Pop!_OS 22.04 system.

Please try if the issue still occurs using a QGIS build against a recent version of the GDAL/OGR library (e.g. Flatpak https://www.qgis.org/en/site/forusers/alldownloads.html#flatpak or Spack https://www.qgis.org/en/site/forusers/alldownloads.html#spack)

If it still occur even using QGIS and a recent version of the GDAL/OGR library, then please double check if the issue occur also using a new QGIS user profile and provide more detailed steps in order to replicate the issue.

NyakudyaA commented 2 weeks ago

@agiudiceandrea I can replicate the issue on my side, QGIS 3.36.3 on Mac,

Screenshot 2024-06-23 at 20 07 48

It seems you have only downloaded one KML, on the link there are multiple ones shown with ogrinfo I get the following

Screenshot 2024-06-23 at 20 10 40

The only way I could get this to load is after converting to geopackage


ogr2ogr  -progress --config PG_USE_COPY YES -explodecollections -f GPKG /tmp/nested.gpkg /tmp/LSZR_TIN_aggr-kml4-nested-multigeometry.kml```
agiudiceandrea commented 2 weeks ago

@NyakudyaA, you are right! I've mistakenly tested only the first one.

I can confirm the issue occurs importing the LSZR_TIN_aggr-kml4-nested-multigeometry.kml layer even using QGIS 3.38.0 on Windows 10 with GDAL/OGR 3.9.0.

ismailsunni commented 1 week ago

Thanks @agiudiceandrea @NyakudyaA for testing it. I have put another real file that has the same bug in the ticket description.