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

GEODATA DAYS 2024

#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: 3862

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

SANTANNA a écrit:

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: 3862

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 .;;;


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

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: 3862

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: 3862

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

 

#13 Tue 03 January 2023 05:30

arn974
Participant assidu
Date d'inscription: 11 Jan 2008
Messages: 166

Re: QGIS: SQL doublon

Bonjour SANTANNA

voici l'envoi 1


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

Hors ligne

 

#14 Tue 03 January 2023 09:39

arn974
Participant assidu
Date d'inscription: 11 Jan 2008
Messages: 166

Re: QGIS: SQL doublon

coucou zut il me donne erreur


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

Hors ligne

 

#15 Tue 03 January 2023 10:41

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

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

 

#17 Tue 03 January 2023 12:06

arn974
Participant assidu
Date d'inscription: 11 Jan 2008
Messages: 166

Re: QGIS: SQL doublon

et bien voilou ......


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

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…

arn974 a écrit:

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

 

#23 Tue 03 January 2023 14:55

arn974
Participant assidu
Date d'inscription: 11 Jan 2008
Messages: 166

Re: QGIS: SQL doublon

voici ma table


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

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

 

#28 Tue 03 January 2023 16:11

arn974
Participant assidu
Date d'inscription: 11 Jan 2008
Messages: 166

Re: QGIS: SQL doublon

LSAM

voici out put


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

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

 

Pied de page des forums

Powered by FluxBB