Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Wed 03 June 2020 09:15

remyK
Participant occasionnel
Date d'inscription: 19 Mar 2015
Messages: 44

QGIS/Style: Niveau d'affichage en fonction d'une nomenclature

Bonjour à tous,

Je dispose de la base permanente des équipements de l'INSEE. Celle-ci présente tous les bâtiments d'intérêt (médecins, boulangerie, vendeur de chaussure, école etc..)
La couche est construite selon une nomenclature (fournie avec la BD) et qui est disponible dans un champs unique de la couche (sous format texte) :

Par exemple, le champs est construit de la manière suivante :

B = Commerces
--> B2 = commerce alimentaire
-----> B203 = boulangerie
-----> B204 = boucherie

ou autre exemple
C = enseignement
--> C3 = enseignement du secondaire
-----> C302 = Lycée professionnel
-----> C303 = lycée technique agricole

Mais je dispose d'un seul champs avec la nomenclature complète (B203/C302/F605/....)
Je voudrais appliquer un style de couche montrant le premier degrés de détails (afficher le symbole en fonction de la lettre A/B/C/...) et dans un second temps un autre style avec niveau de détail intermédiaire (B1/B2/B3/C1/C2/C3...).

Je cherche la bonne expression qui me permettrait de faire ça, mais comme c'est du texte et pas des nombres, je n'y arrive pas si quelqu'un a une idée je suis preneur.

Merci beaucoup par avance.

Dernière modification par remyK (Wed 03 June 2020 09:16)

Hors ligne

 

#2 Wed 03 June 2020 10:03

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3789

Re: QGIS/Style: Niveau d'affichage en fonction d'une nomenclature

Bonjour,
L'expression left("lechamp", nbredecaractères) comme expression de classification devrait permettre d'avoir les différents niveaux que vous souhaitez. Ou bien la fonction substr. Et peut-être le tout dans une classification basée sur des règles qu'on filtre au fur et à mesure?

Hors ligne

 

#3 Wed 03 June 2020 12:44

remyK
Participant occasionnel
Date d'inscription: 19 Mar 2015
Messages: 44

Re: QGIS/Style: Niveau d'affichage en fonction d'une nomenclature

Merci beaucoup Santana

Formidable, c'est exactement ce qu'il me faut. J'ai fais mes premières règles, c'est vraiment très efficace, comme outil.
Et savez-vous quelle expression permettrait de supprimer l'affichage d'une donnée dans la rédaction des règles ?

La base de donnée dispose d'un champs QUALITE_XY, définissant la qualité de la géolocalisation. Il y a 4 attributs (acceptable, bon, mauvais, non géolocalisé) et en effet les "Mauvaise" géolocalisations sont complètement à la ramasse, j'aurai aimé ajouter une règle permettant d'empêcher leur affichage. Quelle expression conviendrait ?

J'essaie des formules un peu trop typées "Excel" je pense avec des =/SI etc. Genre QUALITE_XY = "bonne" ; QUALITE_XY = "acceptable" ça ne fonctionne pas.

Hors ligne

 

#4 Wed 03 June 2020 12:54

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3789

Re: QGIS/Style: Niveau d'affichage en fonction d'une nomenclature

La logique reste la même, vous avez une fonction if mais dans ce cas-ci je partirais plus sur le case when, ie

Code:

CASE WHEN QUALITE_XY <> 'Mauvaise' THEN votreprécédentcodeclassificationici END

Ou vous faites une règle QUALITE_XY='Mauvaise' pour laquelle vous indiquez pas de symbole, puis vous faites un ELSE. Et vous placez vos actuelles règles sous le ELSE. Comme cela, vous vous épargnez la systématique condition de placement à vérifier

Hors ligne

 

#5 Wed 03 June 2020 15:30

remyK
Participant occasionnel
Date d'inscription: 19 Mar 2015
Messages: 44

Re: QGIS/Style: Niveau d'affichage en fonction d'une nomenclature

OK j'ai choisi la seconde solution j'ai donc deux règles :

1-  "QUALITE_XY"  = 'Mauvaise' --> Pas de Symbole
2- ELSE
----> left (TYPEQU,1)
----> left (TYPEQU,2)
----> left (TYPEQU,4)

Ensuite je ne comprends pas comment les règles s'imbriquent entre elles (par logique, je fais glisser le ELSE dans le 1 "QUALITE_XY"  = 'Mauvaise') mais là je ne vois apparaître que les 'Mauvais', pourtant elle se situent après. si je ne les lies pas, tout s'affiche et si je mets "QUALITE_XY"  = 'Mauvaise' sans symbole, dans le ELSE idem, je vois que les 'Mauvaise'
Qu'est ce que je fais de mal ?

Dernière modification par remyK (Wed 03 June 2020 15:31)

Hors ligne

 

#6 Mon 08 June 2020 13:06

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3789

Re: QGIS/Style: Niveau d'affichage en fonction d'une nomenclature

Bonjour,
Possible d'avoir un visuel de l'organisation des règles? J'ai du mal à voir ce que vous mettez derrière les "je les lie" (ou pas), "se situent après". Merci.

Hors ligne

 

#7 Wed 17 June 2020 12:01

remyK
Participant occasionnel
Date d'inscription: 19 Mar 2015
Messages: 44

Re: QGIS/Style: Niveau d'affichage en fonction d'une nomenclature

Bonjour

Je viens de voir que mon message précédent n'était pas parti

Donc en pj mes règles mais ici rien en s'affiche...


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#8 Wed 17 June 2020 17:41

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3789

Re: QGIS/Style: Niveau d'affichage en fonction d'une nomenclature

Bonjour,
Possibilité de déplier "Equipements généraux"? Car là on n'a pas encore de symbole associé aux règles, et je me demande ce qu'il y a en dessous (je m'attendais à voir des règles du genre A = B)
Pour déboguer, affichez le nombre d'entités pour chaque règle (ça vous permettra de savoir si vos expressions renvoient quelque chose (pour autant que cet outil fonctionne). Désolé, je n'ai pas QGIS sous la main pour tester et fournir quelque chose de fiable...

Hors ligne

 

Pied de page des forums

Powered by FluxBB