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 ae90d8e commit 4408dfe49fcad17f09c429bcf020dcdf3754ffda
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 4408dfe

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