On 23 May 2018 at 21:26, Sören Gebbert <[email protected]> wrote: > Dear Nyall, > what would be an officially supported and stable implementation?
Sorry - to give more info - basically this setting was added as a hidden option because it was a couple of lines of code change which works in certain circumstances. Basically you need to be using a map canvas to render, and must have all the render caching options enabled (which result in layers being rendered onto separate image surfaces before compositing them together). Unfortunately a proper implementation of this, which works across all of QGIS (including server and print layouts) isn't trivial at all. (I'd estimate something like 2-4 weeks of development effort). In the end it comes down to funding - it's a highly desirable feature, and the only reason it hasn't been done yet is due to the complexity of the changes. So someone has to sponsor a developer to implement the changes. Ways you could assist would be: - approaching QGIS core developers and getting an estimate for the funds required - directly sponsor the change OR - approach interested organisations and user groups and "co-fund" the changes - organise a "crowd funding" effort to raise the funds Hope that helps! Nyall > > Are there any plans to implement this functionality in a better way so > it will work in desktop and server? > > Can i help to implement this kind of functionality? > > Best regards > Sören > > 2018-05-23 12:33 GMT+02:00 Nyall Dawson <[email protected]>: >> On 23 May 2018 at 18:56, Sören Gebbert <[email protected]> wrote: >>> Dear developers, >>> i am trying to use the undocumented custom vector layer property >>> "rendering/renderAboveLabels" in QGIS3 server with no success. >>> >>> Storing this property in a QGIS project file enables the rendering of >>> vector layers after the labeling is done. This works fine on QGIS3 >>> desktop, but not on QGIS3 server. I looked into the server code and >>> realized that the QGS WMS server uses two renderers >>> (QgsMapRendererParallelJob, QgsMapRendererCustomPainterJob) of which >>> one (QgsMapRendererParallelJob) should support the custom property. >>> However, i can not convince the server to apply the custom property >>> when parallel rendering is enabled. >>> >>> What am i doing wrong? Are there differences between GQIS3 desktop and >>> server in handling project files and layer properties? >>> >>> Why does QgsMapRendererCustomPainterJob not support the custom >>> property "rendering/renderAboveLabels"? >> >> It's undocumented for a reason - it was added as a quick hack to >> support this function in very limited circumstances, but isn't part of >> the stable or public API as it's not officially supported. >> >> In the long term we need a proper, officially supported and stable way >> to handle this use case. >> >> Nyall _______________________________________________ QGIS-Developer mailing list [email protected] List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
