<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi Andrea,<br>
<br>
I have backported your works:<br>
<a class="moz-txt-link-freetext" href="https://github.com/qgis/QGIS/pull/3448">https://github.com/qgis/QGIS/pull/3448</a><br>
<br>
It needs some tests and reviews.<br>
<br>
Regards,<br>
René-Luc<br>
<br>
<div class="moz-cite-prefix">Le 01/09/2016 à 21:41, Andrea Aime a
écrit :<br>
</div>
<blockquote
cite="mid:CA+nxMTv3jwR7km+t=S9jt5bWQYQto+_M-G6HV9Y6Dwe0HZZQHA@mail.gmail.com"
type="cite">
<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
moz-do-not-send="true"
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
moz-do-not-send="true"
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
moz-do-not-send="true"
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
moz-do-not-send="true"
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 moz-do-not-send="true"
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 moz-do-not-send="true"
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 moz-do-not-send="true"
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 moz-do-not-send="true"
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
moz-do-not-send="true"
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 moz-do-not-send="true"
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
moz-do-not-send="true"
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
moz-do-not-send="true"
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
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.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
moz-do-not-send="true"
href="tel:%2B39%200584%20962313" value="+390584962313" target="_blank">+39
0584 962313</a></span><br>
</div>
<div>fax: <a
moz-do-not-send="true"
href="tel:%2B39%200584%201660272" value="+3905841660272" target="_blank">+39
0584 1660272</a></div>
<div>mob: <a
moz-do-not-send="true"
href="tel:%2B39%20%C2%A0339%208844549" value="+393398844549"
target="_blank">+39
339 8844549</a></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/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 moz-do-not-send="true"
href="mailto:Qgis-developer@lists.osgeo.org"
target="_blank">Qgis-developer@lists.osgeo.org</a><br>
List info: <a moz-do-not-send="true"
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 moz-do-not-send="true"
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 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.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 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>
<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>