Hi Roel, I had a quick look though the code and I see at least the intention of parsing multiple styles out of a referenced sld file, and then a lookup by name using whatever was provided in the style parameter. So, in theory, this should work, at least in the current version of GeoServer (I'm referring to 2.7.x and 2.6.x)
You did not say which version you're using, if it's a currently supported version (2.7.x, 2.6.x) can you please open a ticket at https://osgeo-org.atlassian.net/projects/GEOS with the sld in question and the details of your requests, if it's older, could you try 2.6.x/2.7.x? Cheers Andrea On Thu, Jun 11, 2015 at 7:04 PM, Roel De Nijs <[email protected]> wrote: > Hi Stefano, > > > > That’s exactly what I’m experiencing. And I tried it, so I can confirm > your guess: if the Style Layer Descriptor contains more than 1 UserStyle, > the legend is generated based on the first one in the SLD. > > > > > > So you can’t specify which UserStyle to generate a legend from, unless if > you specify the SLD document. I don’t want to duplicate the styles in the > www/styles directory, so I’m wondering if it’s possible to refer to a local > style using the SLD-parameter. > > I already tried the following request but without the desired result :( > > > > > wms?request=GetLegendGraphic&version=1.0.0&format=image/png&strict=false&style=layerLegend&width=20&height=20&SLD=layer.sld > > > wms?request=GetLegendGraphic&version=1.0.0&format=image/png&strict=false&style=layerLegend&width=20&height=20&SLD=file:/layer.sld > > > wms?request=GetLegendGraphic&version=1.0.0&format=image/png&strict=false&style=layerLegend&width=20&height=20&SLD=file:/styles/layer.sld > > > > Kind regards, > > Roel De Nijs > > Senior Java Developer > > > > *Van:* Stefano Costa [mailto:[email protected]] > *Verzonden:* donderdag 4 juni 2015 15:24 > *Aan:* Roel De Nijs > *CC:* [email protected] > *Onderwerp:* Re: [Geoserver-users] Get legend from SLD with multiple user > styles > > > > Hi Roel, > > Il giorno gio, 04/06/2015 alle 12.17 +0000, Roel De Nijs ha scritto: > > I have a layer.sld with 2 user styles (layer and layerLegend). I want to > create a legend of the layerLegend user style. But when using the following > request, I get a runtime exception: java.lang.NullPointerException: > request.getStyle() > > > > > wms?request=GetLegendGraphic&version=1.0.0&format=image/png&strict=false&style=layerLegend&width=20&height=20 > > > I believe you're misunderstanding the meaning of the *"style"* parameter: > it is not supposed to be a UserStyle name, but the name of a Style Layer > Descriptor (basically, what you write in the "Name" field when you create a > new style through GeoServer's web UI). > > To my knowledge, there is no way to specify which UserStyle inside the SLD > document will be used (I guess the first one is picked if multiple are > present, didn't try though). From chapter "Introduction to SLD" in > GeoServer's documentation: "A style document specifies a *single named > layer* and *a user style for it*". If I understand correctly, this > sentence implies that one should not put multiple user styles in the same > SLD document, but rather create multiple SLD documents containing one User > Style each. > > > When I copy the layer.sld to the www/styles directory in the data > directory and I add the SLD-parameter to the previous request, the expected > legend graphic is created successfully. > > > wms?request=GetLegendGraphic&version=1.0.0&format=image/png&strict=false&style=layerLegend&width=20&height=20&SLD= > http://localhost:8080/geoserver/www/styles/layer.sld > > > That's because you're specifying which SLD document should be used via the > *"SLD"* parameter. > > Hope this helps. > > > > -- > > > > Best regards, > > Stefano Costa > > > > == > > GeoServer Professional Services from the experts! Visit > > http://goo.gl/it488V for more information. > > == > > Dott. Stefano Costa > > Senior Software Engineer > > > > GeoSolutions S.A.S. > > Via Poggio alle Viti 1187 > > 55054 Massarosa (LU) > > Italy > > phone: +39 0584 962313 > > fax: +39 0584 1660272 > > > > 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. > > > > > > > > ------------------------------ > > *Volg Aquafin op Facebook <https://www.facebook.com/AquafinNV> | Twitter > <https://twitter.com/aquafinnv> | YouTube > <http://www.youtube.com/channel/UCk_4P5BJ-MtEEDCkCsR_KqQ?feature=mhee> | > LinkedIN <http://www.linkedin.com/company/aquafin/products> * > > Disclaimer: zie www.aquafin.be P Denk aan het milieu. Druk deze mail > niet onnodig af. > > > <http://pers.aquafin.be/aquafin-behaalt-eerste-belgische-iso55001-certificaat#> > > > ------------------------------------------------------------------------------ > > _______________________________________________ > Geoserver-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/geoserver-users > > -- == 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 Poggio alle Viti 1187 55054 Massarosa (LU) Italy 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. -------------------------------------------------------
------------------------------------------------------------------------------
_______________________________________________ Geoserver-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geoserver-users
