<div dir="ltr">Hey <span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:13px">Mathieu,</span><div><span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:13px"><br></span></div>

<div><span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:13px">Great use of a custom user function.  If you add that into startup.py in .qgis2/python/ it will always be there when you load QGIS. I also have a project called Expression+ (</span><a href="http://plugins.qgis.org/plugins/qgsexpressionsplus/">http://plugins.qgis.org/plugins/qgsexpressionsplus/</a>)<span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:13px"> which adds some extra functions, I could also add it in there as people might find it handy.</span></div>

<div><span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:13px"><br></span></div><div><span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:13px">- Nathan</span></div></div>

<div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Oct 24, 2013 at 6:04 PM, Mathieu Bossaert (CEN L-R) <span dir="ltr"><<a href="mailto:sig@cenlr.org" target="_blank">sig@cenlr.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:10pt;font-family:arial,helvetica,sans-serif"><span lang="en"><span title="Bonjour à tous,">Hello everyone,<br>

<br></span><span title="pour le suivi, j'ai abouti!">I found ! </span><span title="En cherchant un peu partout une solution à mon problème, j'ai bien compris que python serait la solution.">Looking around a solution to my problem, I understand that python would be the solution .<br>

<br></span><span title="Les 3 ressources ci-dessous m'ont bien aidé :">Thanks to the QGis documentation and to those 3 resources :<br><br>  - <a href="http://nathanw.net/2012/11/10/user-defined-expression-functions-for-qgis/" target="_blank">http://nathanw.net/2012/11/10/user-defined-expression-functions-for-qgis/</a><br>

  - <a href="http://www.3liz.com/blog/rldhont/index.php?post/2012/11/06/Op%C3%A9rateurs-spatiaux-dans-les-expressions-de-QGIS" target="_blank">http://www.3liz.com/blog/rldhont/index.php?post/2012/11/06/Op%C3%A9rateurs-spatiaux-dans-les-expressions-de-QGIS</a><br>

  - <a href="http://gis.stackexchange.com/questions/28625/how-to-create-a-polygon-based-on-view-extent-in-qgis-1-8" target="_blank">http://gis.stackexchange.com/questions/28625/how-to-create-a-polygon-based-on-view-extent-in-qgis-1-8</a></span><span title="- http://gis.stackexchange.com/questions/ … n-qgis-1-8"><br>

<br></span><span title="J'ai donc créé un script python (userfunctions.py), qui contient une fonction appelée current_canvas_extent, qui retourne une géométrie de type Polygone représentant l'emprise courante de la fenêtre.">So
 I created a python script ( userfunctions.py ), which contains a 
function called current_canvas_extent , which returns a Polygon
representing the current influence of the window.<br><br></span><span title="Code:"><br>[code]<br>from qgis.utils import qgsfunction<br>from qgis.utils import iface<br>from qgis.core import QGis<br><br>@qgsfunction(0, "Python")<br>

def current_canvas_extent(values, feature, parent):<br>    """<br>       retourne l etendue courante de la carte<br>   """<br>    ##extend = QgsGeometry.fromRect( iface.mapCanvas().extent() ) <br>

    ##extend = iface.mapCanvas().extent().toString() <br>    extend = iface.mapCanvas().extent().asWktPolygon() <br>    return extend<br>[/code]</span><span title="return extend"><br><br></span><span title="J'appelle se script au démarrage de QGis (ajouter à la commande de lancement de QGis l'option "--code chemin\vers\userfunctions.py")">QGis call the script on start (add the option " - code path \ to \ userfunctions.py " )<br>

<br></span><span title="J'ai donc maintenant accès dans mon éditeur d'expression à cette "variable".">So I now have access to this "variable" inside the expression editor.<br></span><span title="Et je peux demander à QGis, grâce à l'éditeur d'expression de ne me proposer dans la liste que les parcelles présentes dans l'emprise de ma carte :">And I can ask QGis restrict the list to the objects intersecting the current canvas.</span><span title="Code:"><br>

<br>[code]<br></span><span title="intersects( $geometry , geomFromWKT( $current_canvas_extent ))">intersects ($ geometry , geomFromWKT ($ current_canvas_extent ) )</span></span><br><span lang="en"><span title="intersects( $geometry , geomFromWKT( $current_canvas_extent ))"><span lang="en"><span title="Code:">[/code]<br>

<br></span></span></span><span title="Je propose que "QGis Déchire" retrouve sa place dans l'aperçu d'étiquetage!">Thanks a lot for this great software you give us!</span></span><br> <br><div>Mathieu BOSSAERT <br>

--<div class="im"><br>Responsable du système d'information <br><img style="border:0px none"><br>Membre de la Fédération des Conservatoires d'espaces naturels <a href="http://www.reseau-cen.org" target="_blank">www.reseau-cen.org</a> <br>

<span name="x"></span><br></div></div><hr><div style="font-size:12pt;font-style:normal;font-family:Helvetica,Arial,sans-serif;text-decoration:none;font-weight:normal"><b>De: </b>"Mathieu Bossaert (CEN L-R)" <<a href="mailto:mathieu.bossaert@cenlr.org" target="_blank">mathieu.bossaert@cenlr.org</a>><br>

<b>À: </b><a href="mailto:qgis-user@lists.osgeo.org" target="_blank">qgis-user@lists.osgeo.org</a><br><b>Envoyé: </b>Mardi 1 Octobre 2013 11:26:55<br><b>Objet: </b>How to make use of python variables in Qgis filter expression<div>

<div class="h5"><br><br><div style="font-size:10pt;font-family:arial,helvetica,sans-serif"><div style="font-size:10pt;font-family:arial,helvetica,sans-serif">Good morning,<br><br>thanks to the new Qgis, I can make a really pratical interface to my postgis database. I want to make use of relationnal value in the editing form.<br>

The table I use to populate the list is a spatial table.<br><br>I would like to restrict the list of available values in the form to the objects within the current extent of my map.<br><br>I found an example wich is ok but I would like to make use of a variable instead of a fixed extend (GeomFromWKT()).<br>

The example I tried is here : <a href="http://www.3liz.com/blog/rldhont/index.php?post/2012/11/06/Spatial-operators-in-QGIS-expression" target="_blank">http://www.3liz.com/blog/rldhont/index.php?post/2012/11/06/Spatial-operators-in-QGIS-expression</a><br>

<br>Thanks a lot,<br><br>Mathieu<br><br><div><span></span>-- <br>Mathieu BOSSAERT <br>Responsable du système d'information <br><img style="border:0px none"><br>Membre de la Fédération des Conservatoires d'espaces naturels <a href="http://www.reseau-cen.org" target="_blank">www.reseau-cen.org</a> <br>

<span></span><br></div></div></div></div></div></div><br></div></div><br>_______________________________________________<br>
Qgis-user mailing list<br>
<a href="mailto:Qgis-user@lists.osgeo.org">Qgis-user@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/qgis-user" target="_blank">http://lists.osgeo.org/mailman/listinfo/qgis-user</a><br></blockquote></div><br></div>