Skip to content

Commit fcc0160

Browse files
committed
Fix type of CRS WKT (use just QString instead of both QString and QByteArray)
1 parent 06b4ad8 commit fcc0160

File tree

5 files changed

+20
-20
lines changed

5 files changed

+20
-20
lines changed

python/analysis/raster/qgsalignraster.sip

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class QgsAlignRaster
2020
bool isValid() const;
2121

2222
//! Return CRS in WKT format
23-
QByteArray crs() const;
23+
QString crs() const;
2424
//! Return size of the raster grid in pixels
2525
QSize rasterSize() const;
2626
//! Return number of raster bands in the file

src/analysis/raster/qgsalignraster.cpp

+11-11
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ bool QgsAlignRaster::setParametersFromRaster( const QString& filename, const QSt
156156

157157
bool QgsAlignRaster::setParametersFromRaster( const RasterInfo& rasterInfo, const QString& customCRSWkt, QSizeF customCellSize, QPointF customGridOffset )
158158
{
159-
if ( customCRSWkt.isEmpty() || customCRSWkt.toAscii() == rasterInfo.crs() )
159+
if ( customCRSWkt.isEmpty() || customCRSWkt == rasterInfo.crs() )
160160
{
161161
// use ref. layer to init input
162162
mCrsWkt = rasterInfo.crs();
@@ -198,15 +198,15 @@ bool QgsAlignRaster::setParametersFromRaster( const RasterInfo& rasterInfo, cons
198198
{
199199
QSizeF cs;
200200
QPointF go;
201-
if ( !suggestedWarpOutput( rasterInfo, customCRSWkt.toAscii(), &cs, &go ) )
201+
if ( !suggestedWarpOutput( rasterInfo, customCRSWkt, &cs, &go ) )
202202
{
203203
mCrsWkt = "_error_";
204204
mCellSizeX = mCellSizeY = 0;
205205
mGridOffsetX = mGridOffsetY = 0;
206206
return false;
207207
}
208208

209-
mCrsWkt = customCRSWkt.toAscii();
209+
mCrsWkt = customCRSWkt;
210210

211211
if ( !customCellSize.isValid() )
212212
{
@@ -271,8 +271,8 @@ bool QgsAlignRaster::checkInputParameters()
271271
"File:\n%1\n\n"
272272
"Source WKT:\n%2\n\nDestination WKT:\n%3" )
273273
.arg( r.inputFilename )
274-
.arg( QString::fromAscii( info.mCrsWkt ) )
275-
.arg( QString::fromAscii( mCrsWkt ) );
274+
.arg( info.mCrsWkt )
275+
.arg( mCrsWkt );
276276
return false;
277277
}
278278

@@ -376,7 +376,7 @@ bool QgsAlignRaster::run()
376376
void QgsAlignRaster::dump() const
377377
{
378378
qDebug( "---ALIGN------------------" );
379-
qDebug( "wkt %s", mCrsWkt.constData() );
379+
qDebug( "wkt %s", mCrsWkt.toAscii().constData() );
380380
qDebug( "w/h %d,%d", mXSize, mYSize );
381381
qDebug( "transform" );
382382
qDebug( "%6.2f %6.2f %6.2f", mGeoTransform[0], mGeoTransform[1], mGeoTransform[2] );
@@ -421,7 +421,7 @@ bool QgsAlignRaster::createAndWarp( const Item& raster )
421421
}
422422

423423
// Write out the projection definition.
424-
GDALSetProjection( hDstDS, mCrsWkt.constData() );
424+
GDALSetProjection( hDstDS, mCrsWkt.toAscii().constData() );
425425
GDALSetGeoTransform( hDstDS, ( double* )mGeoTransform );
426426

427427
// Copy the color table, if required.
@@ -482,13 +482,13 @@ bool QgsAlignRaster::createAndWarp( const Item& raster )
482482
return true;
483483
}
484484

485-
bool QgsAlignRaster::suggestedWarpOutput( const QgsAlignRaster::RasterInfo& info, const QByteArray& destWkt, QSizeF* cellSize, QPointF* gridOffset, QgsRectangle* rect )
485+
bool QgsAlignRaster::suggestedWarpOutput( const QgsAlignRaster::RasterInfo& info, const QString& destWkt, QSizeF* cellSize, QPointF* gridOffset, QgsRectangle* rect )
486486
{
487487
// Create a transformer that maps from source pixel/line coordinates
488488
// to destination georeferenced coordinates (not destination
489489
// pixel line). We do that by omitting the destination dataset
490490
// handle (setting it to NULL).
491-
void* hTransformArg = GDALCreateGenImgProjTransformer( info.mDataset, info.mCrsWkt.constData(), NULL, destWkt.constData(), FALSE, 0, 1 );
491+
void* hTransformArg = GDALCreateGenImgProjTransformer( info.mDataset, info.mCrsWkt.toAscii().constData(), NULL, destWkt.toAscii().constData(), FALSE, 0, 1 );
492492
if ( !hTransformArg )
493493
return false;
494494

@@ -533,7 +533,7 @@ QgsAlignRaster::RasterInfo::RasterInfo( const QString& layerpath )
533533
GDALGetGeoTransform( mDataset, mGeoTransform );
534534

535535
// TODO: may be null or empty string
536-
mCrsWkt = QByteArray( GDALGetProjectionRef( mDataset ) );
536+
mCrsWkt = QString::fromAscii( GDALGetProjectionRef( mDataset ) );
537537

538538
mBandCnt = GDALGetBandNumber( mDataset );
539539
}
@@ -568,7 +568,7 @@ QPointF QgsAlignRaster::RasterInfo::origin() const
568568
void QgsAlignRaster::RasterInfo::dump() const
569569
{
570570
qDebug( "---RASTER INFO------------------" );
571-
qDebug( "wkt %s", mCrsWkt.constData() );
571+
qDebug( "wkt %s", mCrsWkt.toAscii().constData() );
572572
qDebug( "w/h %d,%d", mXSize, mYSize );
573573
qDebug( "cell x/y %f,%f", cellSize().width(), cellSize().width() );
574574

src/analysis/raster/qgsalignraster.h

+5-5
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class ANALYSIS_EXPORT QgsAlignRaster
5252
bool isValid() const { return mDataset != 0; }
5353

5454
//! Return CRS in WKT format
55-
QByteArray crs() const { return mCrsWkt; }
55+
QString crs() const { return mCrsWkt; }
5656
//! Return size of the raster grid in pixels
5757
QSize rasterSize() const { return QSize( mXSize, mYSize ); }
5858
//! Return number of raster bands in the file
@@ -76,7 +76,7 @@ class ANALYSIS_EXPORT QgsAlignRaster
7676
//! handle to open GDAL dataset
7777
GDALDatasetH mDataset;
7878
//! CRS stored in WKT format
79-
QByteArray mCrsWkt;
79+
QString mCrsWkt;
8080
//! geotransform coefficients
8181
double mGeoTransform[6];
8282
//! raster grid size
@@ -155,7 +155,7 @@ class ANALYSIS_EXPORT QgsAlignRaster
155155
QSizeF cellSize() const { return QSizeF( mCellSizeX, mCellSizeY ); }
156156

157157
//! Set the output CRS in WKT format
158-
void setDestinationCRS( const QString& crsWkt ) { mCrsWkt = crsWkt.toAscii(); }
158+
void setDestinationCRS( const QString& crsWkt ) { mCrsWkt = crsWkt; }
159159
//! Get the output CRS in WKT format
160160
QString destinationCRS() const { return mCrsWkt; }
161161

@@ -211,7 +211,7 @@ class ANALYSIS_EXPORT QgsAlignRaster
211211
bool createAndWarp( const Item& raster );
212212

213213
//! Determine suggested output of raster warp to a different CRS. Returns true on success
214-
static bool suggestedWarpOutput( const RasterInfo& info, const QByteArray& destWkt, QSizeF* cellSize = 0, QPointF* gridOffset = 0, QgsRectangle* rect = 0 );
214+
static bool suggestedWarpOutput( const RasterInfo& info, const QString& destWkt, QSizeF* cellSize = 0, QPointF* gridOffset = 0, QgsRectangle* rect = 0 );
215215

216216
protected:
217217

@@ -227,7 +227,7 @@ class ANALYSIS_EXPORT QgsAlignRaster
227227
List mRasters;
228228

229229
//! Destination CRS - stored in well-known text (WKT) format
230-
QByteArray mCrsWkt;
230+
QString mCrsWkt;
231231
//! Destination cell size
232232
double mCellSizeX, mCellSizeY;
233233
//! Destination grid offset - expected to be in interval <0,cellsize)

src/app/qgsalignrasterdialog.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ void QgsAlignRasterDialog::updateParametersFromReferenceLayer()
161161
// get custom values from the GUI (if any)
162162
if ( mChkCustomCRS->isChecked() )
163163
{
164-
QgsCoordinateReferenceSystem refCRS( QString::fromAscii( refInfo.crs() ) );
164+
QgsCoordinateReferenceSystem refCRS( refInfo.crs() );
165165
if ( refCRS != mCrsSelector->crs() )
166166
customCRSWkt = mCrsSelector->crs().toWkt();
167167
}
@@ -270,7 +270,7 @@ void QgsAlignRasterDialog::referenceLayerChanged()
270270
if ( !refInfo.isValid() )
271271
return;
272272

273-
QgsCoordinateReferenceSystem layerCRS( QString::fromAscii( refInfo.crs() ) );
273+
QgsCoordinateReferenceSystem layerCRS( refInfo.crs() );
274274
mCrsSelector->setLayerCrs( layerCRS );
275275
mClipExtentGroupBox->setOriginalExtent( refInfo.extent(), layerCRS );
276276

tests/src/analysis/testqgsalignraster.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ class TestAlignRaster : public QObject
224224

225225
QgsAlignRaster::RasterInfo out( tmpFile );
226226
QVERIFY( out.isValid() );
227-
QgsCoordinateReferenceSystem outCRS( QString::fromAscii( out.crs() ) );
227+
QgsCoordinateReferenceSystem outCRS( out.crs() );
228228
QCOMPARE( outCRS, destCRS );
229229
QCOMPARE( out.rasterSize(), QSize( 4, 4 ) );
230230
// let's stick to integers to keep the test more robust

0 commit comments

Comments
 (0)