[Qgis-developer] FOSS4G code sprint idea: improving SLD export and GeoServer compatibility

Luigi Pirelli luipir at gmail.com
Thu Sep 1 14:27:39 PDT 2016


clap clap clap... great result and resume! thank you Andrea!
Luigi Pirelli

**************************************************************************************************
* Boundless QGIS Support/Development: lpirelli AT boundlessgeo DOT com
* LinkedIn: https://www.linkedin.com/in/luigipirelli
* Stackexchange: http://gis.stackexchange.com/users/19667/luigi-pirelli
* GitHub: https://github.com/luipir
* Mastering QGIS:
https://www.packtpub.com/application-development/mastering-qgis
**************************************************************************************************


On 1 September 2016 at 21:41, Andrea Aime <andrea.aime at geo-solutions.it> wrote:
> 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 <anitagraser at 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.aime at geo-solutions.it> wrote:
>>>
>>> On Tue, Jun 28, 2016 at 7:42 PM, Andrea Aime
>>> <andrea.aime at 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
>>> 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 at lists.osgeo.org
>>> List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>> Unsubscribe: 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 at lists.osgeo.org
> List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer


More information about the Qgis-developer mailing list