Skip to content
Permalink
Browse files

[BUGFIX] Set default units to mm in exportSld

The default units in QgsMapRenderer is Millimeters. The default units in SLD
 is Pixel but exportSld does not convert all millimeters in pixels.

We notes this bug by comparing default QGS Server rendering and rendering with
 the SLD generated by QGIS.

To resolve it, we just have to add units to the document element.
  • Loading branch information
rldhont committed Oct 23, 2015
1 parent f672344 commit 4e61363e1b9b1fa731bdfe46ed756ab017e1d8e6
Showing with 1 addition and 0 deletions.
  1. +1 −0 src/core/qgsmaplayer.cpp
@@ -1370,6 +1370,7 @@ void QgsMapLayer::exportSldStyle( QDomDocument &doc, QString &errorMsg )
// Create the root element
QDomElement root = myDocument.createElementNS( "http://www.opengis.net/sld", "StyledLayerDescriptor" );
root.setAttribute( "version", "1.1.0" );
root.setAttribute( "units", "mm" ); // default qgsmaprenderer is Millimeters
root.setAttribute( "xsi:schemaLocation", "http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd" );
root.setAttribute( "xmlns:ogc", "http://www.opengis.net/ogc" );
root.setAttribute( "xmlns:se", "http://www.opengis.net/se" );

0 comments on commit 4e61363

Please sign in to comment.
You can’t perform that action at this time.