Estoy tratando de utilizar los ejemplos de código C ++ de blog.qgis.org, específicamente el Tutorial 4, Añadir Rasters a QGIS Map Canvas.
Soy capaz de ejecutar el ejemplo cargando un GeoTIFF con QGIS 1.4, sin embargo con 1.8 obtengo "Layer is Not Valid". Como nota, el mismo archivo GeoTIFF fue capaz de ser cargado en la aplicación QGIS 1.8 sin problemas, pero no en el código de ejemplo. He probado con varios archivos diferentes, con el mismo resultado. ¿Existen adiciones a la API 1.8 que requieran llamadas adicionales para que esta funcionalidad funcione? El código del problema está abajo. El código de ejemplo completo se puede encontrar en http://blog.qgis.org/node/94
Sistema operativo: Fedora 17 64 bits, QGIS 1.8.0
void MainWindow::addLayer()
{
QString myFileName = QFileDialog::getOpenFileName(this, tr("Open File"),
QCoreApplication::applicationDirPath () + "/data",
tr("GeoTiff (*.tif)"));
QFileInfo myRasterFileInfo(myFileName);
QgsRasterLayer * mypLayer = new QgsRasterLayer(myRasterFileInfo.filePath(),
myRasterFileInfo.completeBaseName());
if (mypLayer->isValid())
{
qDebug("Layer is valid");
}
else
{
qDebug("Layer is NOT valid");
return;
}