Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenFileGDB and GPKG drivers (and others) are not listed in the "Vector Drivers" list #53734

Closed
2 tasks done
agiudiceandrea opened this issue Jul 6, 2023 · 1 comment
Closed
2 tasks done
Labels
Bug Either a bug report, or a bug fix. Let's hope for the latter! Configs and Options Data Provider Related to specific vector, raster or mesh data providers

Comments

@agiudiceandrea
Copy link
Contributor

agiudiceandrea commented Jul 6, 2023

What is the bug or the crash?

The GDAL/OGR vector drivers that are also raster drivers at the same time, are not listed in the "Vector Drivers" list (Settings -> Options... -> Data Sources -> GDAL). They are only listed in the "Raster Drivers" list.

Notably, the OpenFileGDB driver is no longer listed in the "Vector Drivers" list since GDAL 3.7.0, when the support for raster datasets in such driver was introduced by @rouault with OSGeo/gdal#7389.

Steps to reproduce the issue

  1. Go to Settings -> Options... -> Data Sources -> GDAL -> Vector Drivers
    image

Versions

QGIS 3.28.8 - QGIS 3.32.0 on Windows using GDAL 3.7.0.

Supported QGIS version

  • I'm running a supported QGIS version according to the roadmap.

New profile

Additional context

It looks like the possibility that some drivers could have both raster and vector capabilities at the same time was not taken in consideration when the "Vector Drivers" tab was implemented (since QGIS 3.16.0) by @alexbruy with #38461:

if ( QString( GDALGetMetadataItem( myGdalDriver, GDAL_DCAP_RASTER, nullptr ) ) == QLatin1String( "YES" ) )
{
driversType[myGdalDriverDescription] = Qgis::LayerType::Raster;
}
else if ( QString( GDALGetMetadataItem( myGdalDriver, GDAL_DCAP_VECTOR, nullptr ) ) == QLatin1String( "YES" ) )
{
driversType[myGdalDriverDescription] = Qgis::LayerType::Vector;
}

if ( driversType[myName] == Qgis::LayerType::Raster )
{
lstRasterDrivers->addTopLevelItem( mypItem );
}
else
{
lstVectorDrivers->addTopLevelItem( mypItem );
}

@agiudiceandrea agiudiceandrea added Bug Either a bug report, or a bug fix. Let's hope for the latter! Data Provider Related to specific vector, raster or mesh data providers GUI/UX Related to QGIS application GUI or User Experience Configs and Options and removed GUI/UX Related to QGIS application GUI or User Experience labels Jul 6, 2023
@rouault
Copy link
Contributor

rouault commented Sep 17, 2023

fixed per #54254

@rouault rouault closed this as completed Sep 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Either a bug report, or a bug fix. Let's hope for the latter! Configs and Options Data Provider Related to specific vector, raster or mesh data providers
Projects
None yet
Development

No branches or pull requests

2 participants