Skip to content

Commit b35a596

Browse files
committed
raster calculator: allow unquoted raster references (fixes #11682)
1 parent d0159e2 commit b35a596

File tree

4 files changed

+29
-19
lines changed

4 files changed

+29
-19
lines changed

src/analysis/raster/qgsrastercalculator.cpp

+12-8
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@
1919
#include "qgsrastercalcnode.h"
2020
#include "qgsrasterlayer.h"
2121
#include "qgsrastermatrix.h"
22-
#include "cpl_string.h"
22+
2323
#include <QProgressDialog>
2424
#include <QFile>
2525

26-
#include "gdalwarper.h"
26+
#include <cpl_string.h>
27+
#include <gdalwarper.h>
2728
#include <ogr_srs_api.h>
2829

2930
#if defined(GDAL_VERSION_NUM) && GDAL_VERSION_NUM >= 1800
@@ -35,8 +36,14 @@
3536
#endif
3637

3738
QgsRasterCalculator::QgsRasterCalculator( const QString& formulaString, const QString& outputFile, const QString& outputFormat,
38-
const QgsRectangle& outputExtent, int nOutputColumns, int nOutputRows, const QVector<QgsRasterCalculatorEntry>& rasterEntries ): mFormulaString( formulaString ), mOutputFile( outputFile ), mOutputFormat( outputFormat ),
39-
mOutputRectangle( outputExtent ), mNumOutputColumns( nOutputColumns ), mNumOutputRows( nOutputRows ), mRasterEntries( rasterEntries )
39+
const QgsRectangle& outputExtent, int nOutputColumns, int nOutputRows, const QVector<QgsRasterCalculatorEntry>& rasterEntries )
40+
: mFormulaString( formulaString )
41+
, mOutputFile( outputFile )
42+
, mOutputFormat( outputFormat )
43+
, mOutputRectangle( outputExtent )
44+
, mNumOutputColumns( nOutputColumns )
45+
, mNumOutputRows( nOutputRows )
46+
, mRasterEntries( rasterEntries )
4047
{
4148
}
4249

@@ -71,7 +78,7 @@ int QgsRasterCalculator::processCalculation( QProgressDialog* p )
7178
return 2;
7279
}
7380
GDALDatasetH inputDataset = GDALOpen( TO8F( it->raster->source() ), GA_ReadOnly );
74-
if ( inputDataset == NULL )
81+
if ( !inputDataset )
7582
{
7683
return 2;
7784
}
@@ -94,7 +101,6 @@ int QgsRasterCalculator::processCalculation( QProgressDialog* p )
94101
mInputDatasets.push_back( inputDataset );
95102
}
96103

97-
98104
GDALRasterBandH inputRasterBand = GDALGetRasterBand( inputDataset, it->bandNumber );
99105
if ( inputRasterBand == NULL )
100106
{
@@ -412,5 +418,3 @@ void QgsRasterCalculator::outputGeoTransform( double* transform ) const
412418
transform[4] = 0;
413419
transform[5] = -mOutputRectangle.height() / mNumOutputRows;
414420
}
415-
416-

src/analysis/raster/qgsrastermatrix.cpp

+9-3
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,18 @@ QgsRasterMatrix::QgsRasterMatrix()
2828
{
2929
}
3030

31-
QgsRasterMatrix::QgsRasterMatrix( int nCols, int nRows, float* data, double nodataValue ):
32-
mColumns( nCols ), mRows( nRows ), mData( data ), mNodataValue( nodataValue )
31+
QgsRasterMatrix::QgsRasterMatrix( int nCols, int nRows, float* data, double nodataValue )
32+
: mColumns( nCols )
33+
, mRows( nRows )
34+
, mData( data )
35+
, mNodataValue( nodataValue )
3336
{
3437
}
3538

36-
QgsRasterMatrix::QgsRasterMatrix( const QgsRasterMatrix& m ): mColumns( 0 ), mRows( 0 ), mData( 0 )
39+
QgsRasterMatrix::QgsRasterMatrix( const QgsRasterMatrix& m )
40+
: mColumns( 0 )
41+
, mRows( 0 )
42+
, mData( 0 )
3743
{
3844
operator=( m );
3945
}

src/app/qgsrastercalcdialog.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ QString QgsRasterCalcDialog::outputFile() const
6767
return outputFileName;
6868
}
6969

70-
return ( outputFileName + "." + it.value() );
70+
return outputFileName + "." + it.value();
7171
}
7272

7373
QString QgsRasterCalcDialog::outputFormat() const
@@ -130,7 +130,7 @@ void QgsRasterCalcDialog::insertAvailableRasterBands()
130130
QgsRasterCalculatorEntry entry;
131131
entry.raster = rlayer;
132132
entry.bandNumber = i + 1;
133-
entry.ref = quoteBandEntry( rlayer->name() + "@" + QString::number( i + 1 ) );
133+
entry.ref = rlayer->name() + "@" + QString::number( i + 1 );
134134
mAvailableRasterBands.push_back( entry );
135135
mRasterBandsListWidget->addItem( entry.ref );
136136
}
@@ -146,7 +146,7 @@ void QgsRasterCalcDialog::insertAvailableOutputFormats()
146146
for ( int i = 0; i < nDrivers; ++i )
147147
{
148148
GDALDriverH driver = GDALGetDriver( i );
149-
if ( driver != NULL )
149+
if ( driver )
150150
{
151151
char** driverMetadata = GDALGetMetadata( driver, NULL );
152152
if ( CSLFetchBoolean( driverMetadata, GDAL_DCAP_CREATE, false ) )
@@ -309,7 +309,7 @@ bool QgsRasterCalcDialog::filePathValid() const
309309

310310
void QgsRasterCalcDialog::on_mRasterBandsListWidget_itemDoubleClicked( QListWidgetItem* item )
311311
{
312-
mExpressionTextEdit->insertPlainText( item->text() );
312+
mExpressionTextEdit->insertPlainText( quoteBandEntry( item->text() ) );
313313
}
314314

315315
void QgsRasterCalcDialog::on_mPlusPushButton_clicked()

src/providers/postgres/qgspostgresconn.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -182,8 +182,8 @@ QgsPostgresConn::QgsPostgresConn( QString conninfo, bool readOnly, bool shared,
182182
, mPostgresqlVersion( 0 )
183183
, mPostgisVersionMajor( 0 )
184184
, mPostgisVersionMinor( 0 )
185-
, mGistAvailable( 0 )
186-
, mProjAvailable( 0 )
185+
, mGistAvailable( false )
186+
, mProjAvailable( false )
187187
, mUseWkbHex( false )
188188
, mReadOnly( readOnly )
189189
, mSwapEndian( false )
@@ -920,8 +920,8 @@ bool QgsPostgresConn::openCursor( QString cursorName, QString sql )
920920
PQexecNR( "BEGIN" );
921921
}
922922
QgsDebugMsgLevel( QString( "Binary cursor %1 for %2" ).arg( cursorName ).arg( sql ), 3 );
923-
return PQexecNR( QString( "DECLARE %1 BINARY CURSOR %2 FOR %3" ).
924-
arg( cursorName ).arg( !mTransaction ? "" : QString( "WITH HOLD" ) ).arg( sql ) );
923+
return PQexecNR( QString( "DECLARE %1 BINARY CURSOR%2 FOR %3" ).
924+
arg( cursorName ).arg( !mTransaction ? "" : QString( " WITH HOLD" ) ).arg( sql ) );
925925
}
926926

927927
bool QgsPostgresConn::closeCursor( QString cursorName )

0 commit comments

Comments
 (0)