From 890fe57648f2df433f8a939c79bfe121c9788bbe Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Fri, 14 Feb 2020 11:17:16 +1000 Subject: [PATCH] Mark some transforms as approximate --- src/core/qgsmapsettings.cpp | 1 + src/core/raster/qgsrasterlayerrenderer.cpp | 8 ++++++-- src/gui/qgscoordinateoperationwidget.cpp | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/core/qgsmapsettings.cpp b/src/core/qgsmapsettings.cpp index 9f601165469e..873921dd8610 100644 --- a/src/core/qgsmapsettings.cpp +++ b/src/core/qgsmapsettings.cpp @@ -439,6 +439,7 @@ QgsRectangle QgsMapSettings::layerExtentToOutputExtent( const QgsMapLayer *layer QgsDebugMsgLevel( QStringLiteral( "sourceCrs = %1" ).arg( ct.sourceCrs().authid() ), 3 ); QgsDebugMsgLevel( QStringLiteral( "destCRS = %1" ).arg( ct.destinationCrs().authid() ), 3 ); QgsDebugMsgLevel( QStringLiteral( "extent %1" ).arg( extent.toString() ), 3 ); + ct.setBallparkTransformsAreAppropriate( true ); extent = ct.transformBoundingBox( extent ); } } diff --git a/src/core/raster/qgsrasterlayerrenderer.cpp b/src/core/raster/qgsrasterlayerrenderer.cpp index 10202c7938dd..267e85dca4e9 100644 --- a/src/core/raster/qgsrasterlayerrenderer.cpp +++ b/src/core/raster/qgsrasterlayerrenderer.cpp @@ -102,7 +102,9 @@ QgsRasterLayerRenderer::QgsRasterLayerRenderer( QgsRasterLayer *layer, QgsRender { try { - myProjectedViewExtent = rendererContext.coordinateTransform().transformBoundingBox( rendererContext.extent() ); + QgsCoordinateTransform ct = rendererContext.coordinateTransform(); + ct.setBallparkTransformsAreAppropriate( true ); + myProjectedViewExtent = ct.transformBoundingBox( rendererContext.extent() ); } catch ( QgsCsException &cs ) { @@ -113,7 +115,9 @@ QgsRasterLayerRenderer::QgsRasterLayerRenderer( QgsRasterLayer *layer, QgsRender try { - myProjectedLayerExtent = rendererContext.coordinateTransform().transformBoundingBox( layer->extent() ); + QgsCoordinateTransform ct = rendererContext.coordinateTransform(); + ct.setBallparkTransformsAreAppropriate( true ); + myProjectedLayerExtent = ct.transformBoundingBox( layer->extent() ); } catch ( QgsCsException &cs ) { diff --git a/src/gui/qgscoordinateoperationwidget.cpp b/src/gui/qgscoordinateoperationwidget.cpp index 343b50cb27ef..2ce45e4d0c22 100644 --- a/src/gui/qgscoordinateoperationwidget.cpp +++ b/src/gui/qgscoordinateoperationwidget.cpp @@ -106,7 +106,7 @@ void QgsCoordinateOperationWidget::setMapCanvas( QgsMapCanvas *canvas ) // reproject extent QgsCoordinateTransform ct( QgsProject::instance()->crs(), QgsCoordinateReferenceSystem::fromEpsgId( 4326 ), QgsProject::instance() ); - + ct.setBallparkTransformsAreAppropriate( true ); g = g.densifyByCount( 5 ); try {