Pages: 1
- Sujet précédent - QGIS/Representation spatiale donnees en BdD: fonction count() - Sujet suivant
#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,
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
Pages: 1
- Sujet précédent - QGIS/Representation spatiale donnees en BdD: fonction count() - Sujet suivant