Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

complément de documentation #143

Merged
merged 2 commits into from
Sep 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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