<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi Andrea,<br>
<br>
I'm the author of the commits that add a 'units' attribute to
StyleLayerDescriptor element.<br>
<a class="moz-txt-link-freetext" href="https://github.com/qgis/QGIS/commit/b54b1598a6ba145a51aa266cde9282ae4d0378ad">https://github.com/qgis/QGIS/commit/b54b1598a6ba145a51aa266cde9282ae4d0378ad</a><br>
<a class="moz-txt-link-freetext" href="https://github.com/qgis/QGIS/commit/f7ce8b94344e7a7dd12fac2a90bd84df30b7e82f">https://github.com/qgis/QGIS/commit/f7ce8b94344e7a7dd12fac2a90bd84df30b7e82f</a><br>
<br>
If you look at the code of these 2 commits, I didn't change anything
about QGIS SLD interpretation. In the QGIS core, a 'units' attribute
is used to defined the SLD default units for distance.<br>
But I didn't add this 'units' attribute for QGIS and QGIS Server SLD
interpretation, I add these 'units' for GeoServer.<br>
<br>
I didn't used uomScale because of SLD has to be used for any DPI
screen. So if a QGIS user made style in pixels, he has made the
choice to have different rendering in different DPI screen. But if
the user made style in mm on the screen, the stroke or line has to
have the same size in different DPI screen.<br>
<br>
Can QGIS extend SLD by added it's own schema for defining units
attribute ?<br>
<br>
Can we used a VendorOption, to specify mm on the screen like in
GeoServer ?<br>
<a class="moz-txt-link-freetext" href="http://docs.geoserver.org/latest/en/user/styling/sld-extensions/label-obstacles.html">http://docs.geoserver.org/latest/en/user/styling/sld-extensions/label-obstacles.html</a><br>
<br>
About uom in Symbolizer, I think QGIS has to add it like GeoServer
<a class="moz-txt-link-freetext" href="http://docs.geoserver.org/latest/en/user/styling/sld-extensions/uom.html#example">http://docs.geoserver.org/latest/en/user/styling/sld-extensions/uom.html#example</a><br>
<br>
Regards,<br>
<br>
René-Luc<br>
<br>
<div class="moz-cite-prefix">Le 23/07/2016 à 14:53, Andrea Aime a
écrit :<br>
</div>
<blockquote
cite="mid:CA+nxMTuhn3emg1JTXSvwUuifhqJ4eW-0wJPudtU_WjYowH82QQ@mail.gmail.com"
type="cite">
<div dir="ltr">Hi,
<div>I'm looking into improving the SLD export, and stumbled
into a schema violation</div>
<div>that, if fixed, may cause other regression.</div>
<div>In particular, the root element StyledLayerDescriptor
contains a "units" attribute that</div>
<div>is not part of the SLD/SE specification, and thus makes
validation fail:</div>
<div><br>
</div>
<div>
<div><?xml version="1.0" encoding="UTF-8"?></div>
<div><StyledLayerDescriptor xmlns="<a
moz-do-not-send="true" href="http://www.opengis.net/sld">http://www.opengis.net/sld</a>"
xmlns:ogc="<a moz-do-not-send="true"
href="http://www.opengis.net/ogc">http://www.opengis.net/ogc</a>"
xmlns:xsi="<a moz-do-not-send="true"
href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>"
version="1.1.0" xmlns:xlink="<a moz-do-not-send="true"
href="http://www.w3.org/1999/xlink">http://www.w3.org/1999/xlink</a>"
<b>units="mm" </b>xsi:schemaLocation="<a
moz-do-not-send="true" href="http://www.opengis.net/sld">http://www.opengis.net/sld</a>
<a moz-do-not-send="true"
href="http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd">http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd</a>"
xmlns:se="<a moz-do-not-send="true"
href="http://www.opengis.net/se">http://www.opengis.net/se</a>"></div>
<div> ...</div>
<div></StyledLayerDescriptor><br>
</div>
<div><br>
</div>
<div>It's in particular the units="mm" element. Checking the
git history I found it has been introduced by this commit:</div>
<div><br>
</div>
<div>---------------------</div>
<div><br>
</div>
<div>
<div>b54b159 - rldhont <<a moz-do-not-send="true"
href="mailto:rldhont@gmail.com">rldhont@gmail.com</a>>
23-ott-2015</div>
<div>[BUGFIX] Set default units to mm in exportSld</div>
<div><br>
</div>
<div>The default units in QgsMapRenderer is Millimeters. The
default units in SLD</div>
<div> is Pixel but exportSld does not convert all
millimeters in pixels.</div>
<div><br>
</div>
<div>We notes this bug by comparing default QGS Server
rendering and rendering with</div>
<div> the SLD generated by QGIS.</div>
<div><br>
</div>
<div>To resolve it, we just have to add units to the
document element.</div>
</div>
<div><br>
</div>
<div>---------------------</div>
<div><br>
</div>
<div>The above comments seems to suggest something is actually
using that attribute, but I'm not sure what.</div>
<div><br>
</div>
<div>Mind, GeoServer can parse the file the same, but if users
try to validate it (there is a validation button in the
style editor), they will get the following error:</div>
<div><br>
</div>
<div>"ine 2: cvc-complex-type.3.2.2: Attribute 'units' is not
allowed to appear in element 'StyledLayerDescriptor'."</div>
<div><br>
</div>
<div>Also, the attribute per se does nothing in a compliant
client, since SLD 1.1 lacks the very concept of "on screen
unit", the uom allowed</div>
<div>are pixel (on screen), meter (on ground), feet (on
ground).</div>
<div>A SLD export trying to be compliant should convert mm to
pixels assuming some DPI conversion factor (which means,</div>
<div>making many changes around... bummer). I see there is
already a uomScale in the conversion properties, but I see
it's not</div>
<div>used for point symbol sizes (as the commit message says..
I actually don't see it being used anywhere).</div>
<div><br>
</div>
<div>Would it be ok to remove that attribute and use uomScale
to properly adapt sizes from mm to px instead?</div>
<div><br>
</div>
<div>Cheers</div>
<div>Andrea</div>
<div><br>
</div>
-- <br>
<div class="gmail_signature" data-smartmail="gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div>
<div>
<div>==</div>
<div>GeoServer Professional Services
from the experts! Visit</div>
<div><a moz-do-not-send="true"
href="http://goo.gl/it488V"
target="_blank">http://goo.gl/it488V</a>
for more information.</div>
<div><span style="font-size:12.8px">==</span><br>
</div>
</div>
<div><br>
</div>
</div>
<div>Ing. Andrea Aime <br>
</div>
<div>@geowolf</div>
<div>Technical Lead</div>
<div><br>
</div>
<div><span style="font-size:12.8px">GeoSolutions
S.A.S.</span><br
style="font-size:12.8px">
<span style="font-size:12.8px">Via di
Montramito 3/A</span><br
style="font-size:12.8px">
<span style="font-size:12.8px">55054
Massarosa (LU)</span></div>
<div><span style="font-size:12.8px">phone:
+39 0584 962313</span><br>
</div>
<div>fax: +39 0584 1660272</div>
<div>mob: +39 339 8844549</div>
<div><br>
</div>
<div><a moz-do-not-send="true"
href="http://www.geo-solutions.it"
target="_blank">http://www.geo-solutions.it</a></div>
<div><a moz-do-not-send="true"
href="http://twitter.com/geosolutions_it"
target="_blank">http://twitter.com/geosolutions_it</a></div>
<div><br>
</div>
<div>
<p><span lang="IT"><font size="1"><b>AVVERTENZE
AI SENSI DEL D.Lgs. 196/2003</b></font></span></p>
<p><span lang="IT"><font size="1">Le
informazioni contenute in questo
messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da
considerarsi strettamente
riservate. Il loro utilizzo è
consentito esclusivamente al
destinatario del messaggio, per le
finalità indicate nel messaggio
stesso. Qualora riceviate questo
messaggio senza esserne il
destinatario, Vi preghiamo
cortesemente di darcene notizia
via e-mail e di procedere alla
distruzione del messaggio stesso,
cancellandolo dal Vostro sistema.
Conservare il messaggio stesso,
divulgarlo anche in parte,
distribuirlo ad altri soggetti,
copiarlo, od utilizzarlo per
finalità diverse, costituisce
comportamento contrario ai
principi dettati dal D.Lgs.
196/2003.</font></span></p>
<p><span lang="IT"><font size="1"> </font></span></p>
<p><font size="1">The information in
this message and/or attachments, is
intended solely for the attention
and use of the named addressee(s)
and may be confidential or
proprietary in nature or covered by
the provisions of privacy act
(Legislative Decree June, 30 2003,
no.196 - Italy's New Data Protection
Code).Any use not in accord with its
purpose, any disclosure,
reproduction, copying, distribution,
or either dissemination, either
whole or partial, is strictly
forbidden except previous formal
approval of the named addressee(s).
If you are not the intended
recipient, please contact
immediately the sender by telephone,
fax or e-mail and delete the
information in this message that has
been received in error. The sender
does not give any warranty or accept
liability as the content, accuracy
or completeness of sent messages and
accepts no responsibility for
changes made after they were sent or
for other risks which arise as a
result of e-mail transmission,
viruses, etc.</font></p>
</div>
<div><br>
</div>
<div>-------------------------------------------------------</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Qgis-developer mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Qgis-developer@lists.osgeo.org">Qgis-developer@lists.osgeo.org</a>
List info: <a class="moz-txt-link-freetext" href="http://lists.osgeo.org/mailman/listinfo/qgis-developer">http://lists.osgeo.org/mailman/listinfo/qgis-developer</a>
Unsubscribe: <a class="moz-txt-link-freetext" href="http://lists.osgeo.org/mailman/listinfo/qgis-developer">http://lists.osgeo.org/mailman/listinfo/qgis-developer</a></pre>
</blockquote>
<br>
</body>
</html>