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

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 29 February 2024 16:46

Julie5921
Juste Inscrit !
Date d'inscription: 21 Jul 2017
Messages: 4

QGIS/Representation spatiale donnees en BdD: fonction count()

Bonjour,

J’ai créé une vue en bdd.

Exemple de la vue :

numero_dep  /  geom_route / type_route
-----------------------------------------------------
01      /                  /      AU
02     /                 /       TR
03      /                 /      NR
04      /                  /       AU
04     /                  /        AU

J’aimerais dans QGIS créer un champ pour faire un count à l’aide de la calculatrice de champs de mes valeurs afin de faire une représentation spatiale de mes données par type de route par département qui sera visualisable sur le web. exemple pour le departement 04, avoir en resultat :  2 AU, 0 TR, 0 NR

J'ai réussi a le faire en bdd mais des que je rajoute la géométrie des routes ça ne marche plus.

J'ai donc fait une vue avec la géométrie des routes sans ce champ count(type_route). Donc dans QGIS, j'ai créé un champ pour utiliser la fonction  count sur mon champ "type_route" à l’aide de la calculatrice de champs : Expression utlisée : count(type_route, group_by:=type_route)

Sauf que le count me renvoie des valeurs identiques pour chacune de mes lignes.

J'ai testé avec l’outil « Statistiques par catégories » qui me calcule bien mon count mais je veux que le count soit une colonne de ma vue (pour être en base de données et donc visible sur le web) et associé à la géométrie de mes troncons.

Auriez-vous une piste ? Je n'ai sûrement pas la bonne logique... Merci pour votre aide !

Dernière modification par Julie5921 (Thu 29 February 2024 17:02)

Hors ligne

 

#2 Fri 01 March 2024 15:29

LPlante
Participant occasionnel
Date d'inscription: 17 Nov 2021
Messages: 44

Re: QGIS/Representation spatiale donnees en BdD: fonction count()

Bonjour,

Julie5921 a écrit:

J'ai réussi a le faire en bdd mais des que je rajoute la géométrie des routes ça ne marche plus.


La vue fait un group by ou un aggregat de plusieurs lignes pour avoir le count mais ne peut pas aggreger les lignes de ce group by.
Quitte a avoir une demi requête qui fonctionne en bdd, pourquoi ne pas faire une jointure sur le numéro de departement en bdd?
Select  la_table.numero_dep, la_table.geom_route, la_table.type_route, la_vue_count.count  from la_table   left join la_vue_count on la_table.numero_dep=la_vue_count .numero_dep

C'est pas très optimisé mais c'est une première piste

Par contre QGIS et les vues c'est bien seulement pour de la visualisation et à condition de mettre un id unique à la vue ( row_number() OVER () )

Hors ligne

 

#3 Fri 08 March 2024 08:37

Julie5921
Juste Inscrit !
Date d'inscription: 21 Jul 2017
Messages: 4

Re: QGIS/Representation spatiale donnees en BdD: fonction count()

Bonjour,

En effet, cela fonctionne mieux avec une jointure, merci !

Hors ligne

 

Pied de page des forums

Powered by FluxBB