Hi Andrea,

I have backported your works:
https://github.com/qgis/QGIS/pull/3448

It needs some tests and reviews.

Regards,
René-Luc

Le 01/09/2016 à 21:41, Andrea Aime a écrit :
Hi Anita,
sorry for the late reply, busy times, and I knew the response would be long.

The update is ... complicated :-)
So, around the sprint a few issues were fixed and have code merged in master (QGis 3.x):

  * 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: https://github.com/qgis/QGIS/pull/3366
  * 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: https://github.com/qgis/QGIS/pull/3414
  * 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:
    https://github.com/qgis/QGIS/pull/3436
  * 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): https://osgeo-org.atlassian.net/browse/GEOT-5496
  * 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:
    https://github.com/geotools/geotools/pull/1288
  * 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

Kudos to the QGis developers that helped me with discussion, suggestions, and pull request reviews :-)

Yet, there is still quite a lot of work to be done. Off the top of my head:

  * Backporting some/all of the above to QGis 2.16 and maybe 2.14
  * 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
    
http://osgeo-org.1560.x6.nabble.com/Adding-support-for-parametric-SVGs-td5282722.html
    , 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.
  * 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.
  * 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:
    http://docs.geoserver.org/stable/en/user/filter/function_reference.html
    ). 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).
  * 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.
  * 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
  * 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)
  * 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:
    https://github.com/charleyglynn/Extruded-buildings-SLD
  * 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.
  * 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:
    
http://docs.geoserver.org/stable/en/user/styling/sld-extensions/geometry-transformations.html
  * 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

I'm probably forgetting something, and likely unaware of other QGis mapping capabilities I did not mention above :-)

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

Cheers
Andrea


On Tue, Aug 30, 2016 at 8:42 PM, Anita Graser <anitagra...@gmx.at <mailto:anitagra...@gmx.at>> wrote:

    Hi everyone!

    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?

    Thank you and best wishes,
    Anita




    On Sat, Jul 9, 2016 at 10:56 AM, Andrea Aime
    <andrea.a...@geo-solutions.it
    <mailto:andrea.a...@geo-solutions.it>> wrote:

        On Tue, Jun 28, 2016 at 7:42 PM, Andrea Aime
        <andrea.a...@geo-solutions.it
        <mailto:andrea.a...@geo-solutions.it>> wrote:

            I'll be at the code sprint after the conference, Saturday
            and Sunday.


        Change of plans, I'll be there the Sunday before the
        conference, and due to flight
        arrangements, also most of Saturday (in case anyone's
        interested we can find
        a place to start hacking)

        Cheers
        Andrea


-- ==
        GeoServer Professional Services from the experts! Visit
        http://goo.gl/it488V for more information.
        ==

        Ing. Andrea Aime
        @geowolf
        Technical Lead

        GeoSolutions S.A.S.
        Via di Montramito 3/A
        55054 Massarosa (LU)
        phone: +39 0584 962313 <tel:%2B39%200584%20962313>
        fax: +39 0584 1660272 <tel:%2B39%200584%201660272>
        mob: +39  339 8844549 <tel:%2B39%20%C2%A0339%208844549>

        http://www.geo-solutions.it
        http://twitter.com/geosolutions_it
        <http://twitter.com/geosolutions_it>

        *AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

        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.

        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.


        -------------------------------------------------------

        _______________________________________________
        Qgis-developer mailing list
        Qgis-developer@lists.osgeo.org
        <mailto:Qgis-developer@lists.osgeo.org>
        List info:
        http://lists.osgeo.org/mailman/listinfo/qgis-developer
        <http://lists.osgeo.org/mailman/listinfo/qgis-developer>
        Unsubscribe:
        http://lists.osgeo.org/mailman/listinfo/qgis-developer
        <http://lists.osgeo.org/mailman/listinfo/qgis-developer>





--
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.
==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39  339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

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.

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.


-------------------------------------------------------


_______________________________________________
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer

_______________________________________________
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to