Image proportion when filter geom is defined

This commit is contained in:
Blottiere Paul 2019-05-22 10:26:42 +02:00
parent 0c77b9e2f7
commit 4e0a90a30b

View File

@ -32,12 +32,22 @@ namespace QgsWms
QgsWmsParameters parameters( QUrlQuery( request.url() ) );
// WIDTH and HEIGHT are not mandatory, but we need to set a default size
if ( parameters.widthAsInt() <= 0
&& parameters.heightAsInt() <= 0
if ( ( parameters.widthAsInt() <= 0
|| parameters.heightAsInt() <= 0 )
&& ! parameters.infoFormatIsImage() )
{
parameters.set( QgsWmsParameter::WIDTH, 10 );
parameters.set( QgsWmsParameter::HEIGHT, 10 );
QSize size( 10, 10 );
if ( ! parameters.filterGeom().isEmpty() )
{
const QgsRectangle bbox = QgsGeometry::fromWkt( parameters.filterGeom() ).boundingBox();
const int defaultWidth = 800;
size.setWidth( defaultWidth );
size.setHeight( defaultWidth * bbox.height() / bbox.width() );
}
parameters.set( QgsWmsParameter::WIDTH, size.width() );
parameters.set( QgsWmsParameter::HEIGHT, size.height() );
}
// prepare render context