banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

Les inscriptions sont ouvertes !

#1 Aujourd'hui 02:21

woups
Juste Inscrit !
Lieu: Bretagne
Date d'inscription: 17 Mar 2025
Messages: 1

QFIELD Astuce - Comment filtrer dans QFIELD

Salut,
Voilà comment il faut faire pour pouvoir filtrer dans QFIELD.

Pour l'exemple, j'ai une couche de polygones nommée IDENTITE dans laquelle il y a un champ d'attributs "nom".

Je souhaite filtrer cette couche IDENTITE selon la valeur du champ d'attributs "nom".
Pour rendre ceci possible (à adapter avec vos noms de couche et champs):

POUR FILTRER LES POLYGONES

1- créez une nouvelle couche shapefile de polygone ( par exemple nommez cette couche: FILTRE)

2- dans cette couche (FILTRE), créez un polygone qui recouvre toutes les entités de la couche IDENTITE (ceci vous permettra de renseigner le filtre où que vous soyez sur votre carte)

3- dans cette couche "FILTRE", ajoutez un champ en texte éditable (par exemple : "mon filtre")
et créez un formulaire contenant le champ "mon filtre" et "id"

4- passez en mode édition la couche "FILTRE" et renseignez le champ "id" à 1, enregistrez puis revenez dans les paramètres de la couche "FILTRE" et retirez "id" du formulaire

5- dans la couche que vous souhaitez filtrer (IDENTITE), allez dans symbologie et définissez "par ensemble de règles"

6- Pour la symbologie sans filtre et un affichage "normal" de toutes les entités ajoutez une règle "+" et cochez "filtre" puis écrivez :
attribute(get_feature('FILTRE','id',1),'mon filtre') IS NULL OR attribute(get_feature('FILTRE','id',1),'mon filtre')=''
et définissez la symbologie que vous souhaitez voir quand il n'y a pas de filtre.

7- Pour la symbologie avec filtre (affichage en couleur des entités filtrées) ajoutez une deuxième règle "+" et cochez "filtre" puis écrivez :
"nom"=attribute(get_feature('FILTRE','id',1),'mon filtre')

et pour le remplissage choisissez, par exemple la couleur rouge.
Pour une meilleur visibilité de vos entités vous pouvez ajouter une symbologie par générateur de géométrie en point et définir l'échelle de visibilité dans la symbologie et choisir le symbole que vous souhaitez.
A écrire dans le générateur de géométrie :
CASE
WHEN "nom"=attribute(get_feature('FILTRE','id',1),'mon filtre')
THEN centroid($geometry)
END

8- Pour la symbologie avec filtre (et masquer les entités qui ne sont pas égales à la valeur renseignée dans la couche "mon filtre") ajoutez une troisième règle "+" et cochez "filtre" puis écrivez :

attribute(get_feature('FILTRE','id',1),'mon filtre') IS NOT NULL AND "nom"attribute(get_feature('FILTRE','id',1),'mon filtre')

et mettre la symbologie : remplissage et trait en transparent.

POUR FILTRER L'AFFICHAGE DES ÉTIQUETTES (si vous voulez en afficher)

1- Cliquez sur le symbole pour écrire une formule et renseignez comme suit :

CASE WHEN
"nom"=attribute(get_feature('FILTRE','id',1),'mon filtre')
OR
attribute(get_feature('FILTRE','id',1),'mon filtre') IS NULL OR attribute(get_feature('FILTRE','id',1),'mon filtre')=''
THEN "nom"
END

DANS QFIELD

POUR APPLIQUER LE FILTRE

1- appuyer sur votre écran et sélectionnez "mon filtre" l'entité "1"

2- passer en mode saisie via le A avec le crayon, saisissez le nom que vous voulez filtrer puis validez

3- zoomez ou dézoomez et uniquement vos entités filtrées seront visibles

POUR RETIRER LE FILTRE

1- appuyer sur votre écran et sélectionnez "mon filtre" l'entité "votre texte"

2- passer en mode saisie via le A avec le crayon, supprimez le texte puis validez

3- zoomez ou dézoomez et toutes vos entités seront visibles

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo