Skip to content

Commit

Permalink
Merge pull request #143 from lpojgc/master
Browse files Browse the repository at this point in the history
complément de documentation
  • Loading branch information
lpojgc authored Sep 16, 2024
2 parents ca130fc + d5f870c commit 9e9c58c
Show file tree
Hide file tree
Showing 5 changed files with 63 additions and 49 deletions.
43 changes: 25 additions & 18 deletions docs/usage/advanced_filter.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,42 @@
## Filtres classiques

:::{Warning}
A partir de la version `3.0.0`, le `and` en début de requête n'est plus à mentionner.
Pour les versions antérieures à la version `3.0.0` un `and` en début de requête est plus à ajouter (ne concerne pas la LPO AuRA).
:::

:::{Info}
**Pour tout le monde, en cas de cumul de plusieurs clauses de recherche, il faut les séparer avec un `and`**.
:::

|Filtrer sur...|Un seul critère|Plusieurs critères|
|-|-|-|
|id espèce VisioNature|`and source_id_sp = 386`|`and source_id_sp in (386, 394, 370)`|
|cd_nom|`and obs.cd_nom = 4001`|`and obs.cd_nom in (4001, 4035, 3764)`|
|Nom vernaculaire|`and t.nom_vern ilike 'Rougegorge familier'` ou `and t.nom_vern ilike '%rougegorge%'`|`and t.nom_vern in ('Rougegorge familier', 'Rougequeue noir', 'Mésange charbonnière')`|
|Nom scientifique|`and t.lb_nom ilike 'erithacus rubecula'`|`and t.lb_nom in ('Erithacus rubecula', 'Phoenicurus ochruros', 'Parus major')`|
|Observateur|`and observateur = 'NOM Prénom'`|`and observateur in ('NOM Prénom', 'NOM Prénom', 'NOM Prénom')`|
|Code de nidification|`and oiso_code_nidif = 1`|`and oiso_code_nidif in (1, 2, 3)`|
|Statut de reproduction (valable pour tous les groupes taxo)|`and statut_repro = 'Certain'`|`and statut_repro in ('Certain', 'Probable', 'Possible')`|
|Cause de mortalité|`and mortalite_cause = 'ROAD_VEHICLE'`|`and mortalite_cause in ('ROAD_VEHICLE', 'HUNTING')`|
|Code étude|`and code_etude = 'EPOC'`|`and code_etude in ('EPOC', 'EPOC-ODF')`|
|id espèce VisioNature|`source_id_sp = 386`|`source_id_sp in (386, 394, 370)`|
|cd_nom|`obs.cd_nom = 4001`|`obs.cd_nom in (4001, 4035, 3764)`|
|Nom vernaculaire|`t.nom_vern ilike 'Rougegorge familier'` ou `t.nom_vern ilike '%rougegorge%'`|`t.nom_vern in ('Rougegorge familier', 'Rougequeue noir', 'Mésange charbonnière')`|
|Nom scientifique|`t.lb_nom ilike 'erithacus rubecula'`|`t.lb_nom in ('Erithacus rubecula', 'Phoenicurus ochruros', 'Parus major')`|
|Observateur|`observateur = 'NOM Prénom'`|`observateur in ('NOM Prénom', 'NOM Prénom', 'NOM Prénom')`|
|Code de nidification|`oiso_code_nidif = 1`|`oiso_code_nidif in (1, 2, 3)`|
|Statut de reproduction (valable pour tous les groupes taxo)|`statut_repro = 'Certain'`|`statut_repro in ('Certain', 'Probable', 'Possible')`|
|Cause de mortalité|`mortalite_cause = 'ROAD_VEHICLE'`|`mortalite_cause in ('ROAD_VEHICLE', 'HUNTING')`|
|Code étude|`code_etude = 'EPOC'`|`code_etude in ('EPOC', 'EPOC-ODF')`|

La fonction `ilike` permet de s'affranchir des majuscules et minuscules. Le % remplace un ou plusieurs caractères (et ne fonctionne qu'avec ilike).

:::{Info}
Le langage SQL est sensible aux caractères accentué `mésange`est différent de `mesange`. Par ailleurs, il est possible d'utiliser `%` pour remplacer un ou plusieurs caractères.
:::


## Autres filtres plus complexes

- Filtrer sur l'**altitude** :
- Entre deux altitudes : `and altitude >= 1000 and altitude < 2000`
- Sous un seuil d'altitude et au-dessus d'un autre seuil : `and (altitude <= 1000 or altitude > 2000)`
- Entre deux altitudes : `altitude >= 1000 and altitude < 2000`
- Sous un seuil d'altitude et au-dessus d'un autre seuil : `(altitude <= 1000 or altitude > 2000)`
- Filtrer sur la **mortalité** :
- Ne garder que les données de mortalité : `and mortalite = true`
- Exclure les données de mortalité : `and mortalite = false`
- Rechercher un mot ou une expression dans les **commentaires** : `and commentaires like '%mangeoire%'`
- Ne garder que les données de mortalité : `mortalite = true`
- Exclure les données de mortalité : `mortalite = false`
- Rechercher un mot ou une expression dans les **commentaires** : `commentaires like '%mangeoire%'`
- Filtrer sur le **comportement** :
- Rechercher un comportement particulier : `and comportement @> '{"Se nourrit"}'`
- Rechercher plusieurs comportements <u>simultanés</u> : `and comportement @> '{"Se nourrit", "Se déplace"}'`
- Rechercher plusieurs comportements pas forcément simultanés : `and (comportement @> '{"Se nourrit"}' or comportement @> '{"Se déplace"}')`
- Rechercher un comportement particulier : `comportement @> '{"Se nourrit"}'`
- Rechercher plusieurs comportements <u>simultanés</u> : `comportement @> '{"Se nourrit", "Se déplace"}'`
- Rechercher plusieurs comportements pas forcément simultanés : `(comportement @> '{"Se nourrit"}' or comportement @> '{"Se déplace"}')`
24 changes: 13 additions & 11 deletions plugin_qgis_lpo/processing/extract_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,19 @@ def __init__(self) -> None:
self._group_id = "raw_data"
self._group = "Données brutes"
self._short_description = """<font style="font-size:18px"><b>Besoin d'aide ?</b>
Vous pouvez vous référer au <b>Wiki</b>accessible sur ce lien : <a
href="https://lpoaura.github.io/PluginQGis-LPOData/index.html"
target="_blank">https://lpoaura.github.io/PluginQGis-LPOData/index.html</a>.</font>
<br /><br />
Cet algorithme vous permet d'<b>extraire des données d'observation</b> contenues dans la
base de données LPO (couche PostGIS de type points) à partir d'une <b>zone d'étude</b>
présente dans votre projet QGIS (couche de type polygones).<br /><br />
<font style='color:#0a84db'><u>IMPORTANT</u> : Prenez le temps de lire
<u>attentivement</U> les instructions pour chaque étape, et particulièrement les</font>
<font style='color:#952132'>informations en rouge</font>
<font style='color:#0a84db'>!</font>"""
<br/><br/>
Vous pouvez vous référer aux options de
<a href="https://lpoaura.github.io/PluginQGis-LPOData/usage/advanced_filter.html" target="_blank">
filtrage avancé</a>.</font><br/><br/>
Cet algorithme vous permet d'<b>extraire des données d'observation</b> contenues dans la
base de données LPO (couche type points) à partir d'une <b>zone d'étude</b>
présente dans votre projet QGIS (couche de type polygones).<br /><br />
<font style='color:#0a84db'><u>IMPORTANT</u> : Prenez le temps de lire
<u>attentivement</U> les instructions pour chaque étape, et particulièrement les</font>
<font style='color:#952132'>informations en rouge</font>
<font style='color:#0a84db'>!</font>
<br /><br />
<font style='color:#952132'>Cette extraction <b>inlut les données non valides et d'absence<b>.</font>"""
self._icon = "extract_data.png"
self._short_help_string = ""
self._is_map_layer = True
Expand Down
11 changes: 6 additions & 5 deletions plugin_qgis_lpo/processing/summary_map.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,15 @@ def __init__(self) -> None:
self._group_id = "Map"
self._group = "Cartes"
self._short_description = """<font style="font-size:18px"><b>Besoin d'aide ?</b>
Vous pouvez vous référer au <b>Wiki</b> accessible sur ce lien :
<a href="https://lpoaura.github.io/PluginQGis-LPOData/index.html" target="_blank">
https://lpoaura.github.io/PluginQGis-LPOData/index.html</a>.</font><br/><br/>
<br/><br/>
Vous pouvez vous référer aux options de
<a href="https://lpoaura.github.io/PluginQGis-LPOData/usage/advanced_filter.html" target="_blank">
filtrage avancé</a>.</font><br/><br/>
Cet algorithme vous permet, à partir des données d'observation enregistrées
dans la base de données LPO, de générer une <b>carte de synthèse</b>
(couche PostGIS de type polygones) par maille ou par commune (au choix)
(couche de type polygones) par maille ou par commune (au choix)
basée sur une <b>zone d'étude</b> présente dans votre projet QGIS (couche
de type polygones). <b style='color:#952132'>Les données d'absence sont
de type polygones). <b style='color:#952132'>Les données d'absence et non valides sont
exclues de ce traitement.</b><br/><br/>
<b>Pour chaque entité géographique</b>, la table attributaire de la
nouvelle couche fournit les informations suivantes :
Expand Down
20 changes: 11 additions & 9 deletions plugin_qgis_lpo/processing/summary_table_per_species.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,17 @@ def __init__(self) -> None:
self._output_name = "Tableau de synthese par espece"
self._group_id = "summary_tables"
self._group = "Tableaux de synthèse"
self._short_description = """<font style="font-size:18px"><b>Besoin d'aide ?</b> Vous pouvez vous référer au <b>Wiki</b> accessible sur ce lien : <a
href="https://lpoaura.github.io/PluginQGis-LPOData/index.html"
target="_blank">https://lpoaura.github.io/PluginQGis-LPOData/index.html</a>.</font><br /><br />
Cet algorithme vous permet, à partir des données d'observation enregistrées dans la base de données LPO, d'obtenir un
<b>tableau de synthèse</b> par espèce (couche PostgreSQL) basé sur une <b>zone d'étude</b> présente dans votre projet
QGIS (couche de type polygones).
<b style='color:#952132'>Les données d'absence sont exclues de ce traitement.</b><br /><br />
<b>Pour chaque espèce</b> observée dans la zone d'étude considérée, le tableau fournit les informations suivantes :
<ul>
self._short_description = """<font style="font-size:18px"><b>Besoin d'aide ?</b>
<br/><br/>
Vous pouvez vous référer aux options de
<a href="https://lpoaura.github.io/PluginQGis-LPOData/usage/advanced_filter.html" target="_blank">
filtrage avancé</a>.</font><br/><br/>
Cet algorithme vous permet, à partir des données d'observation enregistrées dans la base de données LPO, d'obtenir un
<b>tableau de synthèse</b> par espèce (couche PostgreSQL) basé sur une <b>zone d'étude</b> présente dans votre projet
QGIS (couche de type polygones).
<b style='color:#952132'>Les données d'absence et invalides sont exclues de ce traitement.</b><br /><br />
<b>Pour chaque espèce</b> observée dans la zone d'étude considérée, le tableau fournit les informations suivantes :
<ul>
<li>Identifiant VisioNature de l'espèce</li>
<li>cd_nom et cd_ref</li>
<li>Rang</li>
Expand Down
14 changes: 8 additions & 6 deletions plugin_qgis_lpo/processing/summary_table_per_time_interval.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,16 @@ def __init__(self) -> None:
self._group_id = "summary_tables"
self._group = "Tableaux de synthèse"
self._short_description = """<font style="font-size:18px"><b>Besoin d'aide ?</b>
Vous pouvez vous référer au <b>Wiki</b> accessible sur ce lien :
<a href="https://lpoaura.github.io/PluginQGis-LPOData/index.html" target="_blank">https://lpoaura.github.io/PluginQGis-LPOData/index.html</a>.</font><br/><br/>
Cet algorithme vous permet, à partir des données d'observation enregistrées dans la base de données LPO, d'obtenir un <b>tableau bilan</b> (couche PostgreSQL)...
<br/><br/>
Vous pouvez vous référer aux options de
<a href="https://lpoaura.github.io/PluginQGis-LPOData/usage/advanced_filter.html" target="_blank">
filtrage avancé</a>.</font><br/><br/>
Cet algorithme vous permet, à partir des données d'observation enregistrées dans la base de données LPO, d'obtenir un <b>tableau bilan</b>...
<ul><li>par année <u>ou</u> par mois (au choix)</li>
<li>et par espèce <u>ou</u> par groupe taxonomique (au choix)</li></ul>
... basé sur une <b>zone d'étude</b> présente dans votre projet QGis (couche de type polygones) et selon une période de votre choix.
<b style='color:#952132'>Les données d'absence sont exclues de ce traitement.</b><br/><br/>
<font style='color:#0a84db'><u>IMPORTANT</u> : Les <b>étapes indispensables</b> sont marquées d'une <b>étoile *</b> avant leur numéro. Prenez le temps de lire <u>attentivement</U> les instructions pour chaque étape, et particulièrement les</font> <font style ='color:#952132'>informations en rouge</font> <font style='color:#0a84db'>!</font>"""
... basé sur une <b>zone d'étude</b> présente dans votre projet QGIS (couche de type polygones) et selon une période de votre choix.
<b style='color:#952132'>Les données d'absence et non valides sont exclues de ce traitement.</b><br/><br/>
<font style='color:#0a84db'><u>IMPORTANT</u> : Prenez le temps de lire <u>attentivement</U> les instructions pour chaque étape, et particulièrement les</font> <font style ='color:#952132'>informations en rouge</font> <font style='color:#0a84db'>!</font>"""
self._icon = "table.png"
# self._short_description = ""
self._is_map_layer = False
Expand Down

0 comments on commit 9e9c58c

Please sign in to comment.