#1 Fri 30 December 2022 16:17
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
QGIS: SQL doublon
Bonjour
A nouveau je reviens mais cette fois ci en tentant d’être plus explicite
Désolé de ma situation de novice.
Je possède une base SQL que je connecte dans mon projet QGIS.
Cette base inclut donc une table avec différents champs: pour préciser il s’agit d’un fichier ayant une quantité de points XYZ associant d’autres attributs comme leur matricule ....
J’ai tenté de détecter les doublons par la syntaxe SQL suivante voir photo en PJ
Je possède bien un résultat, qui me compte le nombre de doublon et précisant quel matricule est donc en doublon.
Mon problème est que je voudrais charger la table SQL mais avec d’autres attributs tels que les coordonnées et ainsi la charger pas en table attributaire comme il le fait mais en table géométrique afin de pouvoir localiser précisément mes point doubles et ainsi les traiter ultérieurement
Pourriez vous s’il vous plaît m’aider ???
Dernière modification par arn974 (Fri 30 December 2022 18:35)
Hors ligne
#2 Fri 30 December 2022 18:36
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Est-ce que la requête SQL ne retourne uniquement des données attributaires ?
Hors ligne
#3 Sun 01 January 2023 22:37
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3883
Re: QGIS: SQL doublon
Bonjour,
Pas de photo en pj.
Mais pour pouvoir charger votre couche en spatial, il faut qu'elle soit spatiale. Il faudrait donc également appeler le champ geometry (soit avec un agrégat, soit dans le group by) dans votre requête.
Hors ligne
#4 Mon 02 January 2023 08:15
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
salut
merci beaucoup
je vais me pencher sur cette piste
a bientot
Hors ligne
#5 Mon 02 January 2023 10:43
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Bonjour,
Pas de photo en pj.
Mais pour pouvoir charger votre couche en spatial, il faut qu'elle soit spatiale. Il faudrait donc également appeler le champ geometry (soit avec un agrégat, soit dans le group by) dans votre requête.
Hors ligne
#6 Mon 02 January 2023 10:50
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Bonjour santanna
Mais le champ geometry est-il un ordre SQL ou un champ que je dois générer stp
Hors ligne
#7 Mon 02 January 2023 11:42
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3883
Re: QGIS: SQL doublon
Bonjour,
Hmmm... Difficile à dire. J'ai pas réussi à croiser toutes les infos dans vos différents sujets pour savoir ce que vous utilisez en entrée pour votre requête. Mais pour faire court, c'est ainsi que le champ stockant les données géométriques est appelé. Un peu de lecture par ici pourrait peut-être aider...
Hors ligne
#8 Mon 02 January 2023 12:05
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
bonjour
et encore vraiment désolé de m'être perdu dans mes explications.
je viens de réaliser 2 ZIP bien plus précis.
j'espère qu'ils seront télécharger : envoi 1 et envoi 2 qui illustrent ma progression.
la question finale que je n'arrive pas en out put, c'est de pouvoir cartographier le résultat de ma couche doublon générée par sql.
merci par avance
j'ai pris congé pro afin d'aboutir à cette mission .;;;
Hors ligne
#9 Mon 02 January 2023 12:10
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
merci de me dire si les deux zip sont passés svp
je suis confus de mon manque d'experience
merci beaucoup
Hors ligne
#10 Mon 02 January 2023 12:20
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3883
Re: QGIS: SQL doublon
merci de me dire si les deux zip sont passés svp
envoi_2.zip est bien passé. Pas le premier visiblement.
je suis confus de mon manque d'experience
L'expérience n'est en rien innée. On l'acquiert en faisant, en essayant. Et ne pas réussir du premier coup n'est pas une tare.
PS: Entre nous, vu le nombre de personnes qui peinent à attacher leurs fichiers et ne l'ayant de mémoire jamais fait, je ne suis pas sûr d'y arriver sans échec. Mais ne le répétez pas, svp.
Hors ligne
#11 Mon 02 January 2023 12:56
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3883
Re: QGIS: SQL doublon
J'ai pas bien compris la différence entre les deux images (c'est DB manager vs couche virtuelle?).
Essayez donc (moi pas habitué au having_count)
Code:
select count(MAT) as nbr_doublon, MAT, geometry -- si l'output ne vous convient pas, essayez avec st_union(geometry) as geometry from CEREG_SIG group by MAT having count (MAT) >1
Le champ geometry devrait ensuite être dispo en bas pour sélection dans "colonne géométrique"
Hors ligne
#12 Mon 02 January 2023 13:20
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
top merci
vous etes gentil
je teste ca et vous informe
Hors ligne
#15 Tue 03 January 2023 10:41
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3883
Re: QGIS: SQL doublon
Bonjour,
zut il me donne erreur
Sans le message d'erreur en entier, difficile de savoir ce qui cloche...
Hors ligne
#16 Tue 03 January 2023 11:53
- Lsam
- Participant assidu
- Date d'inscription: 27 Nov 2013
- Messages: 157
Re: QGIS: SQL doublon
Bonjour,
Il faut que ta première colonne contienne des valeurs uniques. Donc
- soit tu précises dessous : MAT à droite de "Colonnes avec des valeurs uniques",
- soit tu changes ta requête pour que MAT soit en premier :
Code:
SELECT MAT, count(MAT) as nbr_doublon, st_union(geometry) as geometry FROM CEREG_SIG GROUP BY MAT HAVING count(MAT) >1
Dernière modification par Lsam (Tue 03 January 2023 11:56)
Hors ligne
#18 Tue 03 January 2023 13:02
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Je comprends pas du coup, pourquoi il me sort les matricules qui comportent des valeurs doublons mais pas leurs coordonnées x y alors que bien présentés dans ma table.
Hors ligne
#19 Tue 03 January 2023 14:03
- Lsam
- Participant assidu
- Date d'inscription: 27 Nov 2013
- Messages: 157
Re: QGIS: SQL doublon
S'il te plaît, lis bien mon message précédent, tu as coché "Colonnes avec des valeurs uniques" mais tu n'as pas indiqué MAT.
Si le message d'erreur persiste, colle nous les messages d'erreurs qui seront affichés dans le menu Vue / Panneaux / Journal des messages. En texte si possible, pas en copie d'écran…
Je comprends pas du coup, pourquoi il me sort les matricules qui comportent des valeurs doublons mais pas leurs coordonnées x y alors que bien présentés dans ma table.
Tu n'es pas clair dans ce que tu veux obtenir… Quand la requête fonctionnera, tu auras une couche avec des objets fusionnés par matricule. Quel est l'intérêt d'avoir des coordonnées en plus, surtout si chaque matricule contient plusieurs objets ? Tu es certain de savoir ce que tu fais avec st_union(geometry) ?
Dernière modification par Lsam (Tue 03 January 2023 14:08)
Hors ligne
#20 Tue 03 January 2023 14:37
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
alors j'ai crée un projet qgis
1 je me connecte via le menu base de données a un sqlite qui possède une couche avec des points (matricule, x, y .....)
2 jecherche à extraire de cette couche les points matricules (champs "MAT") qui possèdent la même valeur : par exemple deux points qui auraient le matricule identique.
3 je cherche une requete sql qui me sortent dans une nouvelle couche ces points doublons par leur valeur MAT et les cartographier afin de corriger leur bonnes valeur de matricule
Hors ligne
#21 Tue 03 January 2023 14:41
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
cette capture suivante présente ma table input
je voudrais en sortir une qui me donne tout mes points avec le matricule identique doublon
Hors ligne
#22 Tue 03 January 2023 14:44
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
voici la table origine
Hors ligne
#24 Tue 03 January 2023 15:41
- Lsam
- Participant assidu
- Date d'inscription: 27 Nov 2013
- Messages: 157
Re: QGIS: SQL doublon
Voici la requête, en 2 parties pour plus de lisibilité, que je te propose :
Code:
--- on recherche dans un premier temps les doublons de matricules comme précédemment WITH doublons_matricules AS ( SELECT MAT as matricule_doublon, count(geometry) as nb_points_doublons --- nombre d'objets différents par matricule FROM CEREG_SIG GROUP BY MAT HAVING count(geometry) > 1 ) --- on recherche dans la table d'origine les matricules correspondants aux doublons (de la sous-requête précédente avec WITH) --- grâce à une jointure sur les matricules SELECT c.MAT, c.X, c.Y, d.nb_points_doublons, c.geometry FROM CEREG_SIG as c JOIN doublons_matricules as d ON d.matricule_doublon = c.MAT ;
Il y a peut-être plus simple, mais au moins ça peut t'apprendre le SQL !
Dernière modification par Lsam (Tue 03 January 2023 15:47)
Hors ligne
#25 Tue 03 January 2023 15:46
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Bonjour
Lsam
Mais je tente de copié coller exactement comme ton script ?
Hors ligne
#26 Tue 03 January 2023 15:48
- Lsam
- Participant assidu
- Date d'inscription: 27 Nov 2013
- Messages: 157
Re: QGIS: SQL doublon
Essaie, même avec les --- (c'est du commentaire qui ne sera pas interprété)
Hors ligne
#27 Tue 03 January 2023 15:55
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Allez ça roule je balance la sauce ⛄️
Hors ligne
#29 Tue 03 January 2023 16:32
- Lsam
- Participant assidu
- Date d'inscription: 27 Nov 2013
- Messages: 157
Re: QGIS: SQL doublon
Oui et bien, ça te convient ?
Hors ligne
#30 Tue 03 January 2023 16:42
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Je peux te tel plus facile ?
edit moderation: suppression contact personnel
Dernière modification par SANTANNA (Thu 05 January 2023 20:42)
Hors ligne