<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><tt>Hi Andreas,</tt></p>
    <p><tt><br>
      </tt></p>
    <p><tt>> </tt><tt><span class="html-tag">Can you point me to an
          example how to create a valid GetMap request with an SLD
          submitted?</span></tt></p>
    <p><tt><span class="html-tag"><br>
        </span></tt></p>
    <p><tt>There's a basic example in unit tests:
<a class="moz-txt-link-freetext" href="https://github.com/qgis/QGIS/blob/master/tests/src/python/test_qgsserver_wms_getmap.py#L1309-L1325">https://github.com/qgis/QGIS/blob/master/tests/src/python/test_qgsserver_wms_getmap.py#L1309-L1325</a><br>
      </tt></p>
    <p><tt><br>
      </tt></p>
    <p><tt>Regards,</tt><tt><br>
      </tt></p>
    <p><tt>Paul</tt><br>
    </p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 4/9/19 4:14 PM, Andreas Neumann
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:5ab459b052a817a9982df7eac5b5a8ef@carto.net">
      <p>Hi,</p>
      <p>I did some test:</p>
      <p>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:</p>
      <p><a
href="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"
          moz-do-not-send="true">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</a></p>
      <p>The response is:</p>
      <div class="line"><span class="html-tag"><ServiceExceptionReport<span
            class="html-attribute"><span> </span><span
              class="html-attribute-name">xmlns</span>="<span
              class="html-attribute-value"><a class="moz-txt-link-freetext" href="http://www.opengis.net/ogc">http://www.opengis.net/ogc</a></span>"</span><span
            class="html-attribute"><span> </span><span
              class="html-attribute-name">version</span>="<span
              class="html-attribute-value">1.3.0</span>"</span>></span></div>
      <div class="collapsible-content"><span class="text"></span>
        <div id="collapsible1" class="collapsible">
          <div class="expanded">
            <div class="line"><span class="button collapse-button"></span><span
                class="html-tag"><ServiceException<span
                  class="html-attribute"><span> </span><span
                    class="html-attribute-name">code</span>="<span
                    class="html-attribute-value">Invalid Parameter</span>"</span>></span></div>
            <div class="collapsible-content"><span class="text">SLD
                ('<StyledLayerDescriptor
                xmlns=<a class="moz-txt-link-rfc2396E" href="http://www.opengis.net/sld">"http://www.opengis.net/sld"</a>
                xmlns:xlink=<a class="moz-txt-link-rfc2396E" href="http://www.w3.org/1999/xlink">"http://www.w3.org/1999/xlink"</a>
                xmlns:xsi=<a class="moz-txt-link-rfc2396E" href="http://www.w3.org/2001/XMLSchema-instance">"http://www.w3.org/2001/XMLSchema-instance"</a>
                xsi:schemaLocation=<a class="moz-txt-link-rfc2396E" href="http://www.opengis.net/sldhttp://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd">"http://www.opengis.net/sld
                http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd"</a>
                xmlns:se=<a class="moz-txt-link-rfc2396E" href="http://www.opengis.net/se">"http://www.opengis.net/se"</a> version="1.1.0"
                xmlns:ogc=<a class="moz-txt-link-rfc2396E" href="http://www.opengis.net/ogc">"http://www.opengis.net/ogc"</a>>
                <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=<a class="moz-txt-link-rfc2396E" href="http://www.opengis.net/ogc">"http://www.opengis.net/ogc"</a>>
                <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</span></div>
            <div class="line"><span class="html-tag"></ServiceException></span></div>
          </div>
        </div>
        <span class="text"></span></div>
      <div class="line"><span class="html-tag"></ServiceExceptionReport></span></div>
      <div class="line"> </div>
      <div class="line"><span class="html-tag">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?</span></div>
      <div class="line"> </div>
      <div class="line"><span class="html-tag">Can you point me to an
          example how to create a valid GetMap request with an SLD
          submitted?</span></div>
      <div class="line"> </div>
      <div class="line"><span class="html-tag">Thanks a lot,</span></div>
      <div class="line"><span class="html-tag">Andreas</span></div>
      <p id="reply-intro">On 2019-04-09 15:38, Andreas Neumann wrote:</p>
      <blockquote type="cite">
        <p>Hi,</p>
        <p>Does QGIS-Server support SLD styles to filter away RULEs in a
          GetMap Request?</p>
        <p>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.</p>
        <p>The idea would be to allow users to enable/disable categories
          within a given layer.</p>
        <p>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?</p>
        <p>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.</p>
        <p>Thanks for your reply,</p>
        <p>Andreas</p>
        <br>
        <div class="pre">_______________________________________________<br>
          QGIS-Developer mailing list<br>
          <a href="mailto:QGIS-Developer@lists.osgeo.org"
            rel="noreferrer" moz-do-not-send="true">QGIS-Developer@lists.osgeo.org</a><br>
          List info: <a
            href="https://lists.osgeo.org/mailman/listinfo/qgis-developer"
            target="_blank" rel="noopener noreferrer"
            moz-do-not-send="true">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
          Unsubscribe: <a
            href="https://lists.osgeo.org/mailman/listinfo/qgis-developer"
            target="_blank" rel="noopener noreferrer"
            moz-do-not-send="true">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a></div>
      </blockquote>
      <p><br>
      </p>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
QGIS-Developer mailing list
<a class="moz-txt-link-abbreviated" href="mailto:QGIS-Developer@lists.osgeo.org">QGIS-Developer@lists.osgeo.org</a>
List info: <a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/qgis-developer">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a>
Unsubscribe: <a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/qgis-developer">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a></pre>
    </blockquote>
  </body>
</html>