Hi Andreas,
> Can you point me to an example how to create a valid GetMap request with an SLD submitted? There's a basic example in unit tests: https://github.com/qgis/QGIS/blob/master/tests/src/python/test_qgsserver_wms_getmap.py#L1309-L1325 Regards, Paul On 4/9/19 4:14 PM, Andreas Neumann wrote: > > Hi, > > I did some test: > > Here is a long URL with the SLD (originally sent by QGIS server, > stripped away some RULES manually) and sending it back in a GetMap > request: > > https://services.geo.zg.ch/ows-oereb/Grundwasserschutz?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&BBOX=2682932,1225299,2684213,1226054&CRS=EPSG:2056&WIDTH=1615&HEIGHT=952&LAYERS=ch.zg.grundwasserschutz.gwszonen&STYLES=&FORMAT=image/png&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE&SLD=%3CStyledLayerDescriptor+xmlns%3D%22http%3A%2F%2Fwww.opengis.net%2Fsld%22+xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22+xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance%22+xsi%3AschemaLocation%3D%22http%3A%2F%2Fwww.opengis.net%2Fsld+http%3A%2F%2Fschemas.opengis.net%2Fsld%2F1.1.0%2FStyledLayerDescriptor.xsd%22+xmlns%3Ase%3D%22http%3A%2F%2Fwww.opengis.net%2Fse%22+version%3D%221.1.0%22+xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%0D%0A+%3CNamedLayer%3E%0D%0A++%3Cse%3AName%3Ech.zg.grundwasserschutz.gwszonen%3C%2Fse%3AName%3E%0D%0A++%3CUserStyle%3E%0D%0A+++%3Cse%3AName%3Edefault%3C%2Fse%3AName%3E%0D%0A+++%3Cse%3AFeatureTypeStyle%3E%0D%0A++++%3Cse%3ARule%3E%0D%0A+++++%3Cse%3AName%3EGrundwasserschutzzone+S1%3C%2Fse%3AName%3E%0D%0A+++++%3Cse%3ADescription%3E%0D%0A++++++%3Cse%3ATitle%3EGrundwasserschutzzone+S1%3C%2Fse%3ATitle%3E%0D%0A+++++%3C%2Fse%3ADescription%3E%0D%0A+++++%3Cogc%3AFilter+xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%0D%0A++++++%3Cogc%3APropertyIsEqualTo%3E%0D%0A+++++++%3Cogc%3APropertyName%3Etyp_code%3C%2Fogc%3APropertyName%3E%0D%0A+++++++%3Cogc%3ALiteral%3ES1%3C%2Fogc%3ALiteral%3E%0D%0A++++++%3C%2Fogc%3APropertyIsEqualTo%3E%0D%0A+++++%3C%2Fogc%3AFilter%3E%0D%0A+++++%3Cse%3APolygonSymbolizer%3E%0D%0A++++++%3Cse%3AFill%3E%0D%0A+++++++%3Cse%3ASvgParameter+name%3D%22fill%22%3E%23003bb3%3C%2Fse%3ASvgParameter%3E%0D%0A++++++%3C%2Fse%3AFill%3E%0D%0A++++++%3Cse%3AStroke%3E%0D%0A+++++++%3Cse%3ASvgParameter+name%3D%22stroke%22%3E%23000080%3C%2Fse%3ASvgParameter%3E%0D%0A+++++++%3Cse%3ASvgParameter+name%3D%22stroke-width%22%3E1%3C%2Fse%3ASvgParameter%3E%0D%0A+++++++%3Cse%3ASvgParameter+name%3D%22stroke-linejoin%22%3Ebevel%3C%2Fse%3ASvgParameter%3E%0D%0A++++++%3C%2Fse%3AStroke%3E%0D%0A+++++%3C%2Fse%3APolygonSymbolizer%3E%0D%0A++++%3C%2Fse%3ARule%3E%0D%0A+++%3C%2Fse%3AFeatureTypeStyle%3E%0D%0A++%3C%2FUserStyle%3E%0D%0A+%3C%2FNamedLayer%3E%0D%0A%3C%2FStyledLayerDescriptor%3E > > The response is: > > <ServiceExceptionReport xmlns="http://www.opengis.net/ogc" version="1.3.0"> > <ServiceException code="Invalid Parameter"> > SLD ('<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" > xmlns:xlink="http://www.w3.org/1999/xlink" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://www.opengis.net/sld > http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd" > xmlns:se="http://www.opengis.net/se" version="1.1.0" > xmlns:ogc="http://www.opengis.net/ogc"> <NamedLayer> > <se:Name>ch.zg.grundwasserschutz.gwszonen</se:Name> <UserStyle> > <se:Name>default</se:Name> <se:FeatureTypeStyle> <se:Rule> > <se:Name>Grundwasserschutzzone S1</se:Name> <se:Description> > <se:Title>Grundwasserschutzzone S1</se:Title> </se:Description> > <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc"> > <ogc:PropertyIsEqualTo> <ogc:PropertyName>typ_code</ogc:PropertyName> > <ogc:Literal>S1</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> > <se:PolygonSymbolizer> <se:Fill> <se:SvgParameter > name="fill">#003bb3</se:SvgParameter> </se:Fill> <se:Stroke> > <se:SvgParameter name="stroke">#000080</se:SvgParameter> > <se:SvgParameter name="stroke-width">1</se:SvgParameter> > <se:SvgParameter name="stroke-linejoin">bevel</se:SvgParameter> > </se:Stroke> </se:PolygonSymbolizer> </se:Rule> </se:FeatureTypeStyle> > </UserStyle> </NamedLayer> </StyledLayerDescriptor>') cannot be > converted into QString > </ServiceException> > </ServiceExceptionReport> > > So apparently the SLD cannot be converted to a QString. Is my encoding > in the URL above wrong or am I missing a required additional parameter? > > Can you point me to an example how to create a valid GetMap request > with an SLD submitted? > > Thanks a lot, > Andreas > > On 2019-04-09 15:38, Andreas Neumann wrote: > >> Hi, >> >> Does QGIS-Server support SLD styles to filter away RULEs in a GetMap >> Request? >> >> I would assume, yes, but in what encoding would I submit such an SLD >> in a GET request? I know that one should rather use POST reqests for >> such long parameters, but for experimenting, it would be ok to use GET. >> >> The idea would be to allow users to enable/disable categories within >> a given layer. >> >> The WMS client would first request the available rules with a >> GetStyles command (that part works fine) and would then filter the >> RULE (strip away the unwanted RULEs) and resubmit the GetMap with an >> SLD. Does that work with QGIS server? >> >> I know that one can also use the FILTER parameter, but we want to do >> it in an OGC compatible way, since the client being developed should >> work with any OGC compatible WMS server. >> >> Thanks for your reply, >> >> Andreas >> >> >> _______________________________________________ >> QGIS-Developer mailing list >> QGIS-Developer@lists.osgeo.org <mailto:QGIS-Developer@lists.osgeo.org> >> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer >> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer > > > > _______________________________________________ > QGIS-Developer mailing list > QGIS-Developer@lists.osgeo.org > List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer > Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
_______________________________________________ QGIS-Developer mailing list QGIS-Developer@lists.osgeo.org List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer