Message posté par : woups (iconx29(a)hotmail.com)
----------------------------------------
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
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=372534#p372534
Pour y répondre : mobilite(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net