<div dir="ltr">Hi Anita,<div>sorry for the late reply, busy times, and I knew the response would be long.</div><div><br></div><div>The update is ... complicated :-)</div><div>So, around the sprint a few issues were fixed and have code merged in master (QGis 3.x):</div><div><ul><li>Export of ogc:Filter in places where an expression is required, used to happen for any non zero rotation and any non fully opaque alpha, making the SLD invalid/unreadable. Pull request here, merged on master: <a href="https://github.com/qgis/QGIS/pull/3366">https://github.com/qgis/QGIS/pull/3366</a></li><li>The styling works by default in "on screen mm", but SLD does not have such notion (has on screen pixel, on ground meter, on ground feet), and QGis did not rescale the values, making for very thin lines and tiny symbols. Fixed in this pull request, merged on master: <a href="https://github.com/qgis/QGIS/pull/3414">https://github.com/qgis/QGIS/pull/3414</a></li><li>Scale based visibility declared at the layer level was not exported in SLD, making for layers that would show up at all zoom levels. Pull request here, merged as well: <a href="https://github.com/qgis/QGIS/pull/3436">https://github.com/qgis/QGIS/pull/3436</a></li><li>GeoServer/GeoTools could not handle the way font based marks were exported. The syntax was actually valid, so I decided to build support for QGis own convention in GeoTools. This is the only bit already available in all supported GT/GS branches (develop, stable, maintenance): <a href="https://osgeo-org.atlassian.net/browse/GEOT-5496">https://osgeo-org.atlassian.net/browse/GEOT-5496</a><br></li><li>QGis exports as "well known mark" names values that are not actually "well known", this one in being solved in GeoTools/GeoServer by adding support for the same names. Pull request pending, still haven't had the time to check it out: <a href="https://github.com/geotools/geotools/pull/1288">https://github.com/geotools/geotools/pull/1288</a></li><li>Labels are not exported at all as TextSymbolizer, during the spring Raymond Nijssen started working on that, he's got a promising work in progress, not yet turned into a pull request</li></ul><div>Kudos to the QGis developers that helped me with discussion, suggestions, and pull request reviews :-)</div><div><br></div><div>Yet, there is still quite a lot of work to be done. Off the top of my head:</div></div><div><ul><li>Backporting some/all of the above to QGis 2.16 and maybe 2.14</li><li>QGis has a nice support for "parametric" SVG based on a draft SVG extension that never became "official", basically, it allows to have SVG with parameters for stroke color, width and opacity, fill color and opacity. GeoTools does not recognize such extension and always renders SVG symbols full black. I intend to add this support to GT/GS, see <a href="http://osgeo-org.1560.x6.nabble.com/Adding-support-for-parametric-SVGs-td5282722.html">http://osgeo-org.1560.x6.nabble.com/Adding-support-for-parametric-SVGs-td5282722.html</a> , and then enrich the QGis export to add said params in the SLD. Mind, right now the export QGis is doing is also invalid, it's adding tags trying to support the stroke related params that are not part of the SLD standard. I hope to be able to build this on the GeoTools side before September 18th, the feature freeze date for the next GT/GS release, but no promises.</li><li>Alignment (top/bottom/left/right) is well supported in SLD, but the current QGis exported does not write the appropriate tags. Should not be too hard to fix, but there might be several places in the code to change.</li><li>There is no support to export symbology where values are gathered from a property, or an expression based on properties. SLD supports this from day 0, but the SLD export code has no ability to support that. It would be nice to have basic support for property names, arithmetic, maybe some mapping between QGis own functions and GT/GS functions usable in SLD (full list here, can be easily extended: <a href="http://docs.geoserver.org/stable/en/user/filter/function_reference.html">http://docs.geoserver.org/stable/en/user/filter/function_reference.html</a> ). This would be a massive undertaking, I'm afraid it won't be feasible without funding, but we'll see (note, all the work I did so far was unfunded).<br></li><li>There is no support for exporting raster symbology, colormaps, contrast stretch and the like. GeoServer also does not understand SLD 1.1 raster symbology (it's quite different from the SLD 1.0 one), so work will have to be done on both sides. Seems another large undertaking.</li><li>x/y translation/offset for lines and polygons is not implemented in GeoServer (only for points and labels instead), that would require some work, but not too much</li><li>Compositing/blending is supported in GeoServer as a SLD extension, could be thus exported (cannot promise all single compositing/blending modes are a match on the two sides)</li><li>Pseudo 3D buildings are supported as an extension in GeoServer SLD, so this kind of layer is probably exportable. Might need some work on the GeoServer side to render the same way as QGis though (as far as I know QGis is doing some sorting). Example style for GeoServer and map here: <a href="https://github.com/charleyglynn/Extruded-buildings-SLD">https://github.com/charleyglynn/Extruded-buildings-SLD</a></li><li>z-stacked symbols like "highway" roads (paint all roads orange thick, go back, paint all roads white thin) are supported on both sides, but the export does not support it, and some change in the overall export logic would be required to actually support it, as SLD requires multiple FeatureTypeStyle elements, one per z level, to be generated in order to get the same effect. Right one there is just one FTS with many rules and symbolizers in it.</li><li>Geometry generators can probably be partially translated as "geometry transformations" in SLD, except in our case they do work in real world coordinates, not on screen: <a href="http://docs.geoserver.org/stable/en/user/styling/sld-extensions/geometry-transformations.html">http://docs.geoserver.org/stable/en/user/styling/sld-extensions/geometry-transformations.html</a></li><li>Some types of symbology like shapeburst and inverted polygons are simply not available in SLD, nor in GeoServer own extensions, so one would have to first implement those in GeoServer, create appropriate SLD extensions, and then have QGis implement them in the output</li></ul><div>I'm probably forgetting something, and likely unaware of other QGis mapping capabilities I did not mention above :-)</div></div><div><br></div><div>In any case, my target for the sprint was to show that exporting _basic_ styling is feasible, and does not require months of work. To some extent that was achieved (especially when we get the text symbolizer support). Hopefully it will make more people interested, maybe some devs will pitch in, and some sponsoring organizations can fill in the blanks.... an open source developer can dream, right? :-p</div><div><br></div><div>Cheers</div><div>Andrea</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 30, 2016 at 8:42 PM, Anita Graser <span dir="ltr"><<a href="mailto:anitagraser@gmx.at" target="_blank">anitagraser@gmx.at</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-size:small">Hi everyone!</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Hope you made it back home safe after Bonn. Could you give a short update on this topic, what was discussed / decided / worked on in Bonn?</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Thank you and best wishes,</div><div class="gmail_default" style="font-size:small">Anita </div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Sat, Jul 9, 2016 at 10:56 AM, Andrea Aime <span dir="ltr"><<a href="mailto:andrea.aime@geo-solutions.it" target="_blank">andrea.aime@geo-solutions.it</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span>On Tue, Jun 28, 2016 at 7:42 PM, Andrea Aime <span dir="ltr"><<a href="mailto:andrea.aime@geo-solutions.it" target="_blank">andrea.aime@geo-solutions.it</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>I'll be at the code sprint after the conference, Saturday and Sunday.<br></div></div></blockquote><div><br></div></span><div>Change of plans, I'll be there the Sunday before the conference, and due to flight</div><div>arrangements, also most of Saturday (in case anyone's interested we can find</div><div>a place to start hacking)</div><div><br></div><div>Cheers</div><span><font color="#888888"><div>Andrea</div><div><br></div></font></span></div><span><div><br></div>-- <br><div 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 href="http://goo.gl/it488V" target="_blank">http://goo.gl/it488V</a> for more information.</div><div><span style="font-size:12.8000001907349px">==</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: <a href="tel:%2B39%200584%20962313" value="+390584962313" target="_blank">+39 0584 962313</a></span><br></div><div>fax: <a href="tel:%2B39%200584%201660272" value="+3905841660272" target="_blank">+39 0584 1660272</a></div><div>mob: <a href="tel:%2B39%20%C2%A0339%208844549" value="+393398844549" target="_blank">+39  339 8844549</a></div><div><br></div><div><a href="http://www.geo-solutions.it" target="_blank">http://www.geo-solutions.it</a></div><div><a href="http://twitter.com/geosolutions_it" target="_blank">http://twitter.com/geosolution<wbr>s_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>------------------------------<wbr>-------------------------</div></div></div></div></div></div></div></div></div></div></div>
</span></div></div>
<br></div></div><span class="">______________________________<wbr>_________________<br>
Qgis-developer mailing list<br>
<a href="mailto:Qgis-developer@lists.osgeo.org" target="_blank">Qgis-developer@lists.osgeo.org</a><br>
List info: <a href="http://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer" target="_blank">http://lists.osgeo.org/mailman<wbr>/listinfo/qgis-developer</a><br>
Unsubscribe: <a href="http://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer" target="_blank">http://lists.osgeo.org/mailman<wbr>/listinfo/qgis-developer</a><br></span></blockquote></div><br></div></div>
</blockquote></div><br><br clear="all"><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 href="http://goo.gl/it488V" target="_blank">http://goo.gl/it488V</a> for more information.</div><div><span style="font-size:12.8000001907349px">==</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 href="http://www.geo-solutions.it" target="_blank">http://www.geo-solutions.it</a></div><div><a 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>