<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2014/1/12 Marco Hugentobler <span dir="ltr"><<a href="mailto:marco.hugentobler@sourcepole.ch" target="_blank">marco.hugentobler@sourcepole.ch</a>></span><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>Hi Alessandro<div class="im"><br>
      <br>
      <div class="gmail_extra">>in WFS we have the standard OGC
        "FILTER" plus the  QGIS custom "EXP_FILTER"</div>
      <div class="gmail_extra">>in WMS we have QGIS custom "FILTER"</div>
      <div class="gmail_extra">><br>
      </div>
      <div class="gmail_extra">>IMHO the best solution would be to
        have the same parameters also in WMS, so:</div>
      <div class="gmail_extra">
        ><br>
      </div>
      <div class="gmail_extra">>rename WMS QGIS custom  "FILTER"
        to "EXP_FILTER" and</div>
      <div class="gmail_extra">>implement OGC  "FILTER" even if it's
        not in the standard</div>
      <div class="gmail_extra">
        <br>
      </div>
      </div><div class="gmail_extra">Oh, so we have even three filter
        possibilities:<br>
        <br>
        1. OGC Filter (done via QgsExpression )<br>
        2. Filter with QGIS custom syntax (done via QgsExpression)<br>
        3. Filter with provider subset with syntax of data provider
        (e.g. SQL). Done on provider (DB) side for very fast searches,
        therefore needs careful parsing against SQL injections<br>
        <br>
        WFS server implements 1+2, WMS server implements 3. There are
        pros and cons for all of them, so it would be nice to have three
        parameter name to call all of them for WMS servers.<div class="im"><br>
        <br>
        >Do you think that we can re-use the WFS OGC FILTER code for
        the WMS OGC FILTER implementation?</div></div>
      <br>
      QgsOgcUtils::expressionFromOgcFilter<br>
      <br></div></div></blockquote><div><br></div><div>Thanks Marco, now I hope I've got the whole picture.</div><div><br></div><div>Can we agree on the parameter names to use for those calls? </div><div><br></div><div>
The only one which is in the official specs is WFS "FILTER", then we have implementations for </div><div><br></div><div><br></div><div>OGC Filter  WFS="FILTER"<br></div><div>QGS Exp. filter WFS="EXP_FILTER"</div>
<div>QGS provider filter  WMS="FILTER"</div><div><br></div><div>I'm proposing this:</div><div><br></div><div><div>OGC Filter  WFS="FILTER", WMS="FILTER" (to be implemented)</div><div>QGS Exp. filter WFS="EXP_FILTER", WMS="EXP_FILTER" (to be implemented)</div>
<div>QGS provider filter  WFS="PRO_FILTER"   (to be implemented),  WMS="PRO_FILTER" (to be renamed)</div></div><div><br></div><div><br></div><div><div>... I don't have any better idea for  PRO_FILTER but still don't like it, any hint?</div>
</div><div><br></div><div><br></div><div>Note that this will break existing apps, if we are renaming the WMS FILTER to PRO_FILTER (or something else)</div><div><br></div><div><br></div></div>-- <br>Alessandro Pasotti<br>w3:   <a href="http://www.itopen.it">www.itopen.it</a>
</div></div>