Skip to content

Commit

Permalink
change output of QgsGdalProvider::generateBandName() and fix indentation
Browse files Browse the repository at this point in the history
  • Loading branch information
etiennesky committed Mar 19, 2014
1 parent 82164b4 commit 7710882
Showing 1 changed file with 24 additions and 22 deletions.
46 changes: 24 additions & 22 deletions src/providers/gdal/qgsgdalprovider.cpp
Expand Up @@ -876,10 +876,10 @@ int QgsGdalProvider::yBlockSize() const
int QgsGdalProvider::xSize() const { return mWidth; } int QgsGdalProvider::xSize() const { return mWidth; }
int QgsGdalProvider::ySize() const { return mHeight; } int QgsGdalProvider::ySize() const { return mHeight; }


QString QgsGdalProvider::generateBandName( int BandNo ) const QString QgsGdalProvider::generateBandName( int theBandNumber ) const
{ {
#ifdef GDAL_COMPUTE_VERSION /* only available in GDAL 1.10 or later */ #ifdef GDAL_COMPUTE_VERSION /* only available in GDAL 1.10 or later */
#if GDAL_VERSION_NUM >= GDAL_COMPUTE_VERSION(1,10,0) #if GDAL_VERSION_NUM >= GDAL_COMPUTE_VERSION(1,10,0)
if ( strcmp( GDALGetDriverShortName( GDALGetDatasetDriver( mGdalDataset ) ), "netCDF" ) == 0 ) if ( strcmp( GDALGetDriverShortName( GDALGetDatasetDriver( mGdalDataset ) ), "netCDF" ) == 0 )
{ {
char ** GDALmetadata = GDALGetMetadata( mGdalDataset, NULL ); char ** GDALmetadata = GDALGetMetadata( mGdalDataset, NULL );
Expand All @@ -890,60 +890,62 @@ QString QgsGdalProvider::generateBandName( int BandNo ) const
QStringList dimExtraValues; QStringList dimExtraValues;
QMap< QString, QString > unitsMap; QMap< QString, QString > unitsMap;
for ( QStringList::const_iterator i = metadata.begin(); for ( QStringList::const_iterator i = metadata.begin();
i != metadata.end(); i != metadata.end(); ++i )
++i )
{ {
QString val(*i); QString val( *i );
if ( !val.startsWith( "NETCDF_DIM_EXTRA" ) && !val.contains( "#units=" ) ) if ( !val.startsWith( "NETCDF_DIM_EXTRA" ) && !val.contains( "#units=" ) )
continue; continue;
QStringList values = val.split( "=" ); QStringList values = val.split( "=" );
val = values.at( 1 ); val = values.at( 1 );
if ( values.at( 0 ) == "NETCDF_DIM_EXTRA" ) { if ( values.at( 0 ) == "NETCDF_DIM_EXTRA" )
dimExtraValues = val.replace(QString("{"), QString("")).replace(QString("}"), QString("")).split(","); {
dimExtraValues = val.replace( QString( "{" ), QString( "" ) ).replace( QString( "}" ), QString( "" ) ).split( "," );
//http://qt-project.org/doc/qt-4.8/qregexp.html#capturedTexts //http://qt-project.org/doc/qt-4.8/qregexp.html#capturedTexts
} else { }
unitsMap[ values.at(0).split( "#" ).at(0) ] = val; else
{
unitsMap[ values.at( 0 ).split( "#" ).at( 0 )] = val;
} }
} }
if ( dimExtraValues.count() > 0 ) if ( dimExtraValues.count() > 0 )
{ {
QStringList bandNameValues; QStringList bandNameValues;
GDALRasterBandH gdalBand = GDALGetRasterBand( mGdalDataset, BandNo ); GDALRasterBandH gdalBand = GDALGetRasterBand( mGdalDataset, theBandNumber );
GDALmetadata = GDALGetMetadata( gdalBand, NULL ); GDALmetadata = GDALGetMetadata( gdalBand, NULL );


if ( GDALmetadata ) if ( GDALmetadata )
{ {
metadata = cStringList2Q_( GDALmetadata ); metadata = cStringList2Q_( GDALmetadata );
for ( QStringList::const_iterator i = metadata.begin(); for ( QStringList::const_iterator i = metadata.begin();
i != metadata.end(); i != metadata.end(); ++i )
++i )
{ {
QString val(*i); QString val( *i );
if ( !val.startsWith( "NETCDF_DIM_" ) ) if ( !val.startsWith( "NETCDF_DIM_" ) )
continue; continue;
QStringList values = val.split( "=" ); QStringList values = val.split( "=" );
for ( QStringList::const_iterator j = dimExtraValues.begin(); for ( QStringList::const_iterator j = dimExtraValues.begin();
j != dimExtraValues.end(); j != dimExtraValues.end(); ++j )
++j )
{ {
QString dim = (*j); QString dim = ( *j );
if ( values.at( 0 ) != "NETCDF_DIM_"+dim ) if ( values.at( 0 ) != "NETCDF_DIM_" + dim )
continue; continue;
if ( unitsMap.contains( dim ) ) if ( unitsMap.contains( dim ) && unitsMap[ dim ] != "" && unitsMap[ dim ] != "none" )
bandNameValues.append( values.at(1)+" "+unitsMap[ dim ] ); bandNameValues.append( dim + "=" + values.at( 1 ) + " (" + unitsMap[ dim ] + ")" );
else else
bandNameValues.append( values.at(1) ); bandNameValues.append( dim + "=" + values.at( 1 ) );
} }
} }
} }

if ( bandNameValues.count() > 0 ) if ( bandNameValues.count() > 0 )
return bandNameValues.join(" "); return tr( "Band" ) + QString( " %1 / %2" ) .arg( theBandNumber, 1 + ( int ) log10(( float ) bandCount() ), 10, QChar( '0' ) ).arg( bandNameValues.join( " / " ) );
} }
} }
} }
#endif #endif
#endif #endif
return tr( "Band" ) + QString( " %1" ) .arg( BandNo, 1 + ( int ) log10(( float ) bandCount() ), 10, QChar( '0' ) );
return QgsRasterDataProvider::generateBandName( theBandNumber );
} }


QgsRasterIdentifyResult QgsGdalProvider::identify( const QgsPoint & thePoint, QgsRaster::IdentifyFormat theFormat, const QgsRectangle &theExtent, int theWidth, int theHeight ) QgsRasterIdentifyResult QgsGdalProvider::identify( const QgsPoint & thePoint, QgsRaster::IdentifyFormat theFormat, const QgsRectangle &theExtent, int theWidth, int theHeight )
Expand Down

0 comments on commit 7710882

Please sign in to comment.