Hello, Qgis Error “Raster layer Cannot instantiate the 'gdal' data provider” in qt c++ <https://stackoverflow.com/questions/63010283/qgis-error-raster-layer-cannot-instantiate-the-gdal-data-provider-in-qt-c> When I am trying to add a raster layer, I get this error from QgsRasterLayer::IsValid()!!! Can anybody tell me why this happens!? I am beginner in qgis, so could you please explain in detail. the first func "onAddLayer" used for Add button clicked and second func is defined for adding a raster layer.
*my code:* void MainWindow::onAddLayer() { const auto path = QFileDialog::getOpenFileName(this, "SELECT GIS MAP LAYER", QDir( _lastMapDir).path()); if (path.isEmpty() || path.isNull()) { return; } addRasterLayer(path); _lastMapDir = QDir(path).canonicalPath(); } void MainWindow::addRasterLayer(const QFileInfo &info) { LOG(QString("adding map layer %1").arg(info.filePath())); QString errMsg; // if (!QgsRasterLayer::isValidRasterFileName(info.filePath(), errMsg)) // { // LOG(errMsg); // return; // } QScopedPointer<QgsRasterLayer> layer(new QgsRasterLayer(info.filePath(), info.baseName())); //layer->setDataProvider("gdal"); // Added by ArGhalavand if (!layer->isValid()) { LOG(QString("failed to add layer (%1)").arg(layer->error().message( QgsErrorMessage::Format::Text))); return; } save("last_layer_path", info.filePath(), "gis"); _rasterProvider = layer->dataProvider(); _mapCanvas->freeze(true); auto item = QgsMapCanvasLayer(layer.take(), true); _mapCanvas->setExtent(item.layer()->extent()); QgsMapLayerRegistry::instance()->addMapLayer(item.layer(), true); _mapCanvas->setLayerSet(QList<QgsMapCanvasLayer>() << item); _mapCanvas->freeze(false); _mapCanvas->setVisible(true); _mapCanvas->refresh(); statusBar()->showMessage(QString("%1 LOADED").arg(info.fileName()), 3000); } *With Best Regards,* Alireza Ghalavand
_______________________________________________ Qgis-user mailing list Qgis-user@lists.osgeo.org List info: https://lists.osgeo.org/mailman/listinfo/qgis-user Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user