Spilhaus not displayed complete in QGIS 3.42.1
What is the bug or the crash?
Showing a world map (originally in EPSG:4326) with the Spilhaus projection (i.e. ESRI:54099) does not display the whole map.
If I also plot a vector file with parallels and meridians, those lines cover the full earth.
However, using gdalwarp produces the full map properly
gdalwarp world.tif spihaus.tif -co COMPRESS=JPEG -t_srs ESRI:54099
During the development of that projection https://github.com/OSGeo/PROJ/pull/4401 I was able to see the full map properly with an older version of QGIS and the development version of PROJ
This is the QGIS I used during the development. For the projection I used +proj=spilhaus:
| QGIS version | 3.40.0-Bratislava |
| QGIS code branch | Release 3.40 |
| Libraries | |
| Qt version | 5.15.8 |
| Python version | 3.12.7 (Compiled) 3.12.3 (Running) |
| GDAL/OGR version | 3.9.2 |
| PROJ version | 9.5.0 (Compiled) 9.6.0 (Running) |
| EPSG Registry database version | () |
| GEOS version | 3.13.0-CAPI-1.19.0 |
| SQLite version | 3.47.0 |
| PDAL version | 2.8.0 |
| PostgreSQL client version | unknown |
| SpatiaLite version | 5.1.0 |
| QWT version | 6.3.0 |
| QScintilla2 version | 2.14.1 |
| OS version | Ubuntu 22.04.5 LTS |
| Active Python plugins | |
| qgis_points2one | 0.4.0 |
| reloader | 0.2 |
| qgis_hub_plugin | 0.3.0 |
| quick_map_services | 0.21.2 |
| FreehandRasterGeoreferencer | 0.8.3 |
| tiss | 2.0.2 |
| proj_factors_redux | 0.9.1 |
| valuetool | 3.0.19 |
| qgis2web | 3.25.1 |
| db_manager | 0.1.20 |
| processing | 2.12.99 |
| grassprovider | 2.12.99 |
| MetaSearch | 0.3.6 |
Steps to reproduce the issue
Open a GeoTIFF of the world in EPSG:4326, and change the CRS to ESRI:54099 or a user CRS using +proj=spilhaus. Spilhaus only works since PROJ 9.6.0.
Using the QGIS described in the section below, the full map is not plotted. I see only from Antarctica up and right, missing left and bottom parts.
cc @rouault
Versions
Installed via conda with
conda install -c conda-forge gdal qgis proj=9.6.0 pyproj
| QGIS version | 3.42.1-Münster |
| QGIS code branch | Release 3.42 |
| Libraries | |
| Qt version | 5.15.15 |
| Python version | 3.12.9 |
| GDAL version | 3.10.2 |
| PROJ version | 9.6.0 |
| EPSG Registry database version | v12.004 (2025-03-02) |
| GEOS version | 3.13.1-CAPI-1.19.2 |
| SQLite version | 3.49.1 |
| PDAL version | 2.8.4 |
| PostgreSQL client version | 17.4 |
| SpatiaLite version | 5.1.0 |
| QWT version | 6.3.0 |
| QScintilla2 version | 2.14.1 |
| OS version | Ubuntu 22.04.5 LTS |
| Active Python plugins | |
| qgis_points2one | 0.4.0 |
| reloader | 0.2 |
| qgis_hub_plugin | 0.3.0 |
| FreehandRasterGeoreferencer | 0.8.3 |
| tiss | 2.0.2 |
| proj_factors_redux | 0.9.1 |
| valuetool | 3.0.19 |
| qgis2web | 3.25.1 |
| db_manager | 0.1.20 |
| processing | 2.12.99 |
| grassprovider | 2.12.99 |
| MetaSearch | 0.3.6 |
| quick_map_services | 0.21.2 |
Supported QGIS version
- [x] I'm running a supported QGIS version according to the roadmap.
New profile
- [ ] I tried with a new QGIS profile
Additional context
Zooming to the left border, it seems to be the Greenwich meridian at the north pole:
The bottom right corner seems to be near the antimeridian.
How is the area of the reprojected map computed? Had it changed recently?
How is the area of the reprojected map computed? Had it changed recently?
https://github.com/qgis/QGIS/pull/61094 could be very well related. ping @nyalldawson
@rouault, #61094 is not in QGIS 3.42.1 (nor in QGIS LTR 3.40.5). It will be in 3.42.2 https://github.com/qgis/QGIS/pull/61120 (and 3.40.6 https://github.com/qgis/QGIS/pull/61151). @nyalldawson, the issue doesn't occur using QGIS 3.40.3 (compiled against PROJ 9.5.1, running PROJ 9.6.0) while it occurs using QGIS LTR 3.40.5, 3.42.1 and 3.43.0-Master (all compiled against and running PROJ 9.6.0).
It still happens with QGIS 3.42.2 (tested with conda)
PROJ fix in https://github.com/OSGeo/PROJ/pull/4513 QGIS fix in https://github.com/qgis/QGIS/pull/62002