Skip to content

Commit

Permalink
Fix type of CRS WKT (use just QString instead of both QString and QBy…
Browse files Browse the repository at this point in the history
…teArray)
  • Loading branch information
wonder-sk committed Jun 29, 2015
1 parent 06b4ad8 commit fcc0160
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 20 deletions.
2 changes: 1 addition & 1 deletion python/analysis/raster/qgsalignraster.sip
Expand Up @@ -20,7 +20,7 @@ class QgsAlignRaster
bool isValid() const; bool isValid() const;


//! Return CRS in WKT format //! Return CRS in WKT format
QByteArray crs() const; QString crs() const;
//! Return size of the raster grid in pixels //! Return size of the raster grid in pixels
QSize rasterSize() const; QSize rasterSize() const;
//! Return number of raster bands in the file //! Return number of raster bands in the file
Expand Down
22 changes: 11 additions & 11 deletions src/analysis/raster/qgsalignraster.cpp
Expand Up @@ -156,7 +156,7 @@ bool QgsAlignRaster::setParametersFromRaster( const QString& filename, const QSt


bool QgsAlignRaster::setParametersFromRaster( const RasterInfo& rasterInfo, const QString& customCRSWkt, QSizeF customCellSize, QPointF customGridOffset ) bool QgsAlignRaster::setParametersFromRaster( const RasterInfo& rasterInfo, const QString& customCRSWkt, QSizeF customCellSize, QPointF customGridOffset )
{ {
if ( customCRSWkt.isEmpty() || customCRSWkt.toAscii() == rasterInfo.crs() ) if ( customCRSWkt.isEmpty() || customCRSWkt == rasterInfo.crs() )
{ {
// use ref. layer to init input // use ref. layer to init input
mCrsWkt = rasterInfo.crs(); mCrsWkt = rasterInfo.crs();
Expand Down Expand Up @@ -198,15 +198,15 @@ bool QgsAlignRaster::setParametersFromRaster( const RasterInfo& rasterInfo, cons
{ {
QSizeF cs; QSizeF cs;
QPointF go; QPointF go;
if ( !suggestedWarpOutput( rasterInfo, customCRSWkt.toAscii(), &cs, &go ) ) if ( !suggestedWarpOutput( rasterInfo, customCRSWkt, &cs, &go ) )
{ {
mCrsWkt = "_error_"; mCrsWkt = "_error_";
mCellSizeX = mCellSizeY = 0; mCellSizeX = mCellSizeY = 0;
mGridOffsetX = mGridOffsetY = 0; mGridOffsetX = mGridOffsetY = 0;
return false; return false;
} }


mCrsWkt = customCRSWkt.toAscii(); mCrsWkt = customCRSWkt;


if ( !customCellSize.isValid() ) if ( !customCellSize.isValid() )
{ {
Expand Down Expand Up @@ -271,8 +271,8 @@ bool QgsAlignRaster::checkInputParameters()
"File:\n%1\n\n" "File:\n%1\n\n"
"Source WKT:\n%2\n\nDestination WKT:\n%3" ) "Source WKT:\n%2\n\nDestination WKT:\n%3" )
.arg( r.inputFilename ) .arg( r.inputFilename )
.arg( QString::fromAscii( info.mCrsWkt ) ) .arg( info.mCrsWkt )
.arg( QString::fromAscii( mCrsWkt ) ); .arg( mCrsWkt );
return false; return false;
} }


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


// Write out the projection definition. // Write out the projection definition.
GDALSetProjection( hDstDS, mCrsWkt.constData() ); GDALSetProjection( hDstDS, mCrsWkt.toAscii().constData() );
GDALSetGeoTransform( hDstDS, ( double* )mGeoTransform ); GDALSetGeoTransform( hDstDS, ( double* )mGeoTransform );


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


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


Expand Down Expand Up @@ -533,7 +533,7 @@ QgsAlignRaster::RasterInfo::RasterInfo( const QString& layerpath )
GDALGetGeoTransform( mDataset, mGeoTransform ); GDALGetGeoTransform( mDataset, mGeoTransform );


// TODO: may be null or empty string // TODO: may be null or empty string
mCrsWkt = QByteArray( GDALGetProjectionRef( mDataset ) ); mCrsWkt = QString::fromAscii( GDALGetProjectionRef( mDataset ) );


mBandCnt = GDALGetBandNumber( mDataset ); mBandCnt = GDALGetBandNumber( mDataset );
} }
Expand Down Expand Up @@ -568,7 +568,7 @@ QPointF QgsAlignRaster::RasterInfo::origin() const
void QgsAlignRaster::RasterInfo::dump() const void QgsAlignRaster::RasterInfo::dump() const
{ {
qDebug( "---RASTER INFO------------------" ); qDebug( "---RASTER INFO------------------" );
qDebug( "wkt %s", mCrsWkt.constData() ); qDebug( "wkt %s", mCrsWkt.toAscii().constData() );
qDebug( "w/h %d,%d", mXSize, mYSize ); qDebug( "w/h %d,%d", mXSize, mYSize );
qDebug( "cell x/y %f,%f", cellSize().width(), cellSize().width() ); qDebug( "cell x/y %f,%f", cellSize().width(), cellSize().width() );


Expand Down
10 changes: 5 additions & 5 deletions src/analysis/raster/qgsalignraster.h
Expand Up @@ -52,7 +52,7 @@ class ANALYSIS_EXPORT QgsAlignRaster
bool isValid() const { return mDataset != 0; } bool isValid() const { return mDataset != 0; }


//! Return CRS in WKT format //! Return CRS in WKT format
QByteArray crs() const { return mCrsWkt; } QString crs() const { return mCrsWkt; }
//! Return size of the raster grid in pixels //! Return size of the raster grid in pixels
QSize rasterSize() const { return QSize( mXSize, mYSize ); } QSize rasterSize() const { return QSize( mXSize, mYSize ); }
//! Return number of raster bands in the file //! Return number of raster bands in the file
Expand All @@ -76,7 +76,7 @@ class ANALYSIS_EXPORT QgsAlignRaster
//! handle to open GDAL dataset //! handle to open GDAL dataset
GDALDatasetH mDataset; GDALDatasetH mDataset;
//! CRS stored in WKT format //! CRS stored in WKT format
QByteArray mCrsWkt; QString mCrsWkt;
//! geotransform coefficients //! geotransform coefficients
double mGeoTransform[6]; double mGeoTransform[6];
//! raster grid size //! raster grid size
Expand Down Expand Up @@ -155,7 +155,7 @@ class ANALYSIS_EXPORT QgsAlignRaster
QSizeF cellSize() const { return QSizeF( mCellSizeX, mCellSizeY ); } QSizeF cellSize() const { return QSizeF( mCellSizeX, mCellSizeY ); }


//! Set the output CRS in WKT format //! Set the output CRS in WKT format
void setDestinationCRS( const QString& crsWkt ) { mCrsWkt = crsWkt.toAscii(); } void setDestinationCRS( const QString& crsWkt ) { mCrsWkt = crsWkt; }
//! Get the output CRS in WKT format //! Get the output CRS in WKT format
QString destinationCRS() const { return mCrsWkt; } QString destinationCRS() const { return mCrsWkt; }


Expand Down Expand Up @@ -211,7 +211,7 @@ class ANALYSIS_EXPORT QgsAlignRaster
bool createAndWarp( const Item& raster ); bool createAndWarp( const Item& raster );


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


protected: protected:


Expand All @@ -227,7 +227,7 @@ class ANALYSIS_EXPORT QgsAlignRaster
List mRasters; List mRasters;


//! Destination CRS - stored in well-known text (WKT) format //! Destination CRS - stored in well-known text (WKT) format
QByteArray mCrsWkt; QString mCrsWkt;
//! Destination cell size //! Destination cell size
double mCellSizeX, mCellSizeY; double mCellSizeX, mCellSizeY;
//! Destination grid offset - expected to be in interval <0,cellsize) //! Destination grid offset - expected to be in interval <0,cellsize)
Expand Down
4 changes: 2 additions & 2 deletions src/app/qgsalignrasterdialog.cpp
Expand Up @@ -161,7 +161,7 @@ void QgsAlignRasterDialog::updateParametersFromReferenceLayer()
// get custom values from the GUI (if any) // get custom values from the GUI (if any)
if ( mChkCustomCRS->isChecked() ) if ( mChkCustomCRS->isChecked() )
{ {
QgsCoordinateReferenceSystem refCRS( QString::fromAscii( refInfo.crs() ) ); QgsCoordinateReferenceSystem refCRS( refInfo.crs() );
if ( refCRS != mCrsSelector->crs() ) if ( refCRS != mCrsSelector->crs() )
customCRSWkt = mCrsSelector->crs().toWkt(); customCRSWkt = mCrsSelector->crs().toWkt();
} }
Expand Down Expand Up @@ -270,7 +270,7 @@ void QgsAlignRasterDialog::referenceLayerChanged()
if ( !refInfo.isValid() ) if ( !refInfo.isValid() )
return; return;


QgsCoordinateReferenceSystem layerCRS( QString::fromAscii( refInfo.crs() ) ); QgsCoordinateReferenceSystem layerCRS( refInfo.crs() );
mCrsSelector->setLayerCrs( layerCRS ); mCrsSelector->setLayerCrs( layerCRS );
mClipExtentGroupBox->setOriginalExtent( refInfo.extent(), layerCRS ); mClipExtentGroupBox->setOriginalExtent( refInfo.extent(), layerCRS );


Expand Down
2 changes: 1 addition & 1 deletion tests/src/analysis/testqgsalignraster.cpp
Expand Up @@ -224,7 +224,7 @@ class TestAlignRaster : public QObject


QgsAlignRaster::RasterInfo out( tmpFile ); QgsAlignRaster::RasterInfo out( tmpFile );
QVERIFY( out.isValid() ); QVERIFY( out.isValid() );
QgsCoordinateReferenceSystem outCRS( QString::fromAscii( out.crs() ) ); QgsCoordinateReferenceSystem outCRS( out.crs() );
QCOMPARE( outCRS, destCRS ); QCOMPARE( outCRS, destCRS );
QCOMPARE( out.rasterSize(), QSize( 4, 4 ) ); QCOMPARE( out.rasterSize(), QSize( 4, 4 ) );
// let's stick to integers to keep the test more robust // let's stick to integers to keep the test more robust
Expand Down

0 comments on commit fcc0160

Please sign in to comment.