Skip to content

Commit d36cd9a

Browse files
committed
GRASS raster draw extent precission fix
1 parent 962cbaa commit d36cd9a

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

src/providers/grass/qgsgrassrasterprovider.cpp

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,10 @@ QImage* QgsGrassRasterProvider::draw( QgsRectangle const & viewExtent, int pixe
166166
arguments.append( "map=" + mMapName + "@" + mMapset );
167167

168168
arguments.append(( QString( "window=%1,%2,%3,%4,%5,%6" )
169-
.arg( viewExtent.xMinimum() ).arg( viewExtent.yMinimum() )
170-
.arg( viewExtent.xMaximum() ).arg( viewExtent.yMaximum() )
169+
.arg( QgsRasterBlock::printValue( viewExtent.xMinimum() ) )
170+
.arg( QgsRasterBlock::printValue( viewExtent.yMinimum() ) )
171+
.arg( QgsRasterBlock::printValue( viewExtent.xMaximum() ) )
172+
.arg( QgsRasterBlock::printValue( viewExtent.yMaximum() ) )
171173
.arg( pixelWidth ).arg( pixelHeight ) ) );
172174
QProcess process( this );
173175
QString cmd = QgsApplication::libexecPath() + "grass/modules/qgis.d.rast";
@@ -216,8 +218,10 @@ void QgsGrassRasterProvider::readBlock( int bandNo, int xBlock, int yBlock, void
216218

217219
QgsDebugMsg( "mYBlockSize = " + QString::number( mYBlockSize ) );
218220
arguments.append(( QString( "window=%1,%2,%3,%4,%5,%6" )
219-
.arg( ext.xMinimum() ).arg( yMinimum )
220-
.arg( ext.xMaximum() ).arg( yMaximum )
221+
.arg( QgsRasterBlock::printValue( ext.xMinimum() ) )
222+
.arg( QgsRasterBlock::printValue( yMinimum ) )
223+
.arg( QgsRasterBlock::printValue( ext.xMaximum() ) )
224+
.arg( QgsRasterBlock::printValue( yMaximum ) )
221225
.arg( mCols ).arg( mYBlockSize ) ) );
222226

223227
arguments.append( "format=value" );
@@ -263,8 +267,10 @@ void QgsGrassRasterProvider::readBlock( int bandNo, QgsRectangle const & viewEx
263267
arguments.append( "map=" + mMapName + "@" + mMapset );
264268

265269
arguments.append(( QString( "window=%1,%2,%3,%4,%5,%6" )
266-
.arg( viewExtent.xMinimum() ).arg( viewExtent.yMinimum() )
267-
.arg( viewExtent.xMaximum() ).arg( viewExtent.yMaximum() )
270+
.arg( QgsRasterBlock::printValue( viewExtent.xMinimum() ) )
271+
.arg( QgsRasterBlock::printValue( viewExtent.yMinimum() ) )
272+
.arg( QgsRasterBlock::printValue( viewExtent.xMaximum() ) )
273+
.arg( QgsRasterBlock::printValue( viewExtent.yMaximum() ) )
268274
.arg( pixelWidth ).arg( pixelHeight ) ) );
269275
arguments.append( "format=value" );
270276
QProcess process( this );
@@ -647,7 +653,8 @@ double QgsGrassRasterValue::value( double x, double y, bool *ok )
647653

648654
if ( !mProcess ) return value;
649655

650-
QString coor = QString( "%1 %2\n" ).arg( x ).arg( y );
656+
QString coor = QString( "%1 %2\n" ).arg( QgsRasterBlock::printValue( x ) )
657+
.arg( QgsRasterBlock::printValue( y ) );
651658
QgsDebugMsg( "coor : " + coor );
652659
mProcess->write( coor.toAscii() ); // how to flush, necessary?
653660
mProcess->waitForReadyRead();

0 commit comments

Comments
 (0)