#31 Tue 03 January 2023 16:50
- Lsam
- Participant assidu
- Date d'inscription: 27 Nov 2013
- Messages: 157
Re: QGIS: SQL doublon
Non, je ne fais pas d'assistance individuelle et privée.
Ton sujet intéressera peut-être d'autres personnes, donc merci de faire l'effort de rédiger et d'expliquer tes problèmes.
Hors ligne
#32 Tue 03 January 2023 16:58
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Je pourrais t’expliquer de vive voix ?
Hors ligne
#33 Tue 03 January 2023 17:49
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Mais je ne comprends pas les valeurs x et y retournées
Je regarde demain si la table est cartographier
Merci beaucoup
Hors ligne
#34 Tue 03 January 2023 17:54
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Ok , je remede a cela et ferai un bilan simplifié et clair merci beaucoup
Hors ligne
#35 Wed 04 January 2023 11:42
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Bonjour lsam
J’ai tenté
Je crois je ÇA fonctionne
Je te tiens informé et à la communauté dans le courant de la journée !!
Hors ligne
#36 Wed 04 January 2023 17:16
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Bonjour lsam
donc ta double requete renvoit un résultat
je te montre dans le jpg "RESULTAT LSAM1 CHARGER.JPG"
Et là je tente d'être plus précis.
le résultat de ta requete est top : il me donne les matricules et id qui existent donc dans ma base connectée sqlite.
la finalité ultime et géniale que je souhaiterais, et bien serait de l'afficher non pas seulement comme table attributaire mais surtout comme une couche localisant ces points dans mon lambert 93 afin de corriger le bon matricule.
Sinon je prépare un jeu de donnees avec des détails par un we transfer
en effet quand je charge la couche, je fais un save as shp et reprojection mais il ne me cartographie pas mes doublons et en plus il me dit qu'elle n'a pas d'étendue
je suis démoralisé
Hors ligne
#37 Thu 05 January 2023 01:25
- Lsam
- Participant assidu
- Date d'inscription: 27 Nov 2013
- Messages: 157
Re: QGIS: SQL doublon
Bonsoir,
je te montre dans le jpg "RESULTAT LSAM1 CHARGER.JPG"
Toujours pas de fichier joint… Il faut vérifier vos messages s'il vous plaît.
la finalité ultime et géniale que je souhaiterais, et bien serait de l'afficher non pas seulement comme table attributaire mais surtout comme une couche localisant ces points dans mon lambert 93 afin de corriger le bon matricule.
Ça, j'avais bien compris, c'était le but de la requête que je vous ai transmise !
en effet quand je charge la couche, je fais un save as shp et reprojection mais il ne me cartographie pas mes doublons et en plus il me dit qu'elle n'a pas d'étendue
Quand vous chargez la couche, voyez-vous vos points ou pas ? (avant de sauvegarder votre shp)
Hors ligne
#39 Thu 05 January 2023 09:29
- Lsam
- Participant assidu
- Date d'inscription: 27 Nov 2013
- Messages: 157
Re: QGIS: SQL doublon
Je vais finir par lâcher, car tu ne cherches pas trop à comprendre…
Dans ta capture d'écran, tu n'as pas coché "Colonne géométrique" ! C'est si compliqué à comprendre ?
Hors ligne
#40 Thu 05 January 2023 11:31
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Désolé
donc quand je coche geometry
reponse erreur s'est produite lors de la creation dd la couche sql
et je ne trouve pas le journal d erreur
Hors ligne
#41 Thu 05 January 2023 12:08
- Lsam
- Participant assidu
- Date d'inscription: 27 Nov 2013
- Messages: 157
Re: QGIS: SQL doublon
Le champ MAT ne contient pas de valeurs uniques dans la requête, donc il vaut mieux générer un identifiant unique avec simplement un numéro de ligne, grâce à la fonction row_number() over().
Voici la requête corrigée :
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 row_number() over(order by c.MAT) as id, 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 ;
Ensuite, tu coches bien "Colonne avec des valeurs uniques", et tu indiques id, puis tu coches bien la colonne géométrique avec geometry, tu donnes un nom à la couche, et tu la charges
Hors ligne
#42 Thu 05 January 2023 16:26
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Bonjour
il me renvoie la meme erreur
par contre les valeurs chargées dans le champ geometry sont elles logiques
pour info la geometrie de chacun de mes points possèdent un champ Z.....
Hors ligne
#43 Thu 05 January 2023 17:10
- Lsam
- Participant assidu
- Date d'inscription: 27 Nov 2013
- Messages: 157
Re: QGIS: SQL doublon
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…
Lis bien nos messages s'il te plaît, je n'ai plus envie de me répéter.
pour info la geometrie de chacun de mes points possèdent un champ Z.....
Et bien voilà, nouvelle info sortie du chapeau... C'est fatiguant de te suivre, tu ne nous fournis les infos qu'au compte goutte.
Essaie de remplacer, dans la requête, c.geometry par CastToXY(c.geometry)
Hors ligne
#44 Thu 05 January 2023 17:23
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Je te prie de m’en excuser
C’est pour cette raison que je souhaitais envoyer un jeu de données
Car cela me semblait plus simple que de transmettre des captures sachant que je débute
Encore une fois
Milles excuses et merci pour ton action
Hors ligne
#45 Thu 05 January 2023 20:04
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
BOSS LSAM
top mondial
merci pour ton abnégation
ta requete a parlé !!!!!!!!!
quel bonheur et merci
désolé de n'avoir pas dès le départ d'illustrer les données in put
du coup je te montre tes deux résultats
a moi de bosser pour pouvoir corriger les matricules doublon
je n'arrive pas à édtiter la couche
mais je pense qu il me faudra surement convertir la couche sql avant cela
en fait je souhaite corriger en direct puisque je suis en connexion sqlite sur le job topo d origine
merci mille fois
j'ai du pain sur la planche
pour finir
je réalise une alimentation de réseau pluvial pour un pole de métropole
......
Hors ligne
#46 Fri 06 January 2023 14:43
- Lsam
- Participant assidu
- Date d'inscription: 27 Nov 2013
- Messages: 157
Re: QGIS: SQL doublon
Bonjour,
Si tu veux pouvoir modifier ta couche CEREG_SIG à partir de cette requête qui ne sélectionne que les doublons, il faut passer par 2 étapes :
1- enregistrer la requête sous forme d'une vue (view) dans ta base Spatialite (tu l'exécutes dans la même fenêtre que précédemment)
Code:
CREATE VIEW matricules_a_corriger AS WITH doublons_matricules AS ( SELECT MAT as matricule_doublon, count(geometry) as nb_points_doublons FROM CEREG_SIG GROUP BY MAT HAVING count(geometry) > 1 ) SELECT row_number() over(order by c.MAT) as id, c.MAT as matricule_incorrect, c.X, c.Y, d.nb_points_doublons, CastToXY(c.geometry) as geom FROM CEREG_SIG as c JOIN doublons_matricules as d ON d.matricule_doublon = c.MAT ;
Puis tu ouvres cette vue dans QGis, comme une table normale de ta base Spatialite.
2- créer un déclencheur (trigger) qui, lorsque tu modifies dans QGis le champ matricule_incorrect de ta vue matricules_a_corriger, va au lieu de ça corriger la champ MAT de ta couche d'origine CEREG_SIG :
Code:
CREATE TRIGGER mat_corrections INSTEAD OF UPDATE OF matricule_doublon ON matricules_a_corriger BEGIN UPDATE CEREG_SIG SET MAT = NEW.matricule_incorrect WHERE CastToXY(geometry) = NEW.geom ; END ;
Tu exécutes cette commande dans la même fenêtre que les autres requêtes. (Attention, ça ne fonctionne que si aucun point n'est superposé à un autre.)
Ce qui fait qu'en modifiant matricules_a_corriger tu modifies CEREG_SIG, et tes doublons disparaîtront au fur et à mesure de tes corrections de matricules_a_corriger.
Hors ligne
#47 Tue 17 January 2023 12:15
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Bonjour lsam
Super bon
Je vais étudier et comprendre ton cheminement....
Au fait je cherche partout sur les tuto SQL mais je ne comprends pas le sens du caractère : exemple c.
Hors ligne
#48 Tue 17 January 2023 15:25
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
Re: QGIS: SQL doublon
Au fait je cherche partout sur les tuto SQL
En tapant "tuto sql" sur un célèbre moteur de recherche, on tombe là dessus : https://sql.sh
C'est très bien pour commencer !
je ne comprends pas le sens du caractère : exemple c
Je pense que tu fais référence à cette partie du code de LSAM : "FROM CEREG_SIG as c"
Le "c" est un alias de la table/couche "CEREG_SIG", pour éviter d'avoir à saisir à chaque fois le nom complet.
Ainsi, pour sélectionner le champ "MAP" de la table "CEREG_SIG", on ecrit "c.MAT" plutot que "CEREG_SIG.MAT"
Dernière modification par Sylvain M. (Tue 17 January 2023 15:27)
Sylvain M.
Hors ligne
#49 Tue 17 January 2023 18:59
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Ok merci je continue à passer la nuit sur mon bureau
Merci beaucoup
Et désolé de mes carences
Merci
Hors ligne
#50 Wed 18 January 2023 19:33
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
salut sam
j'ai du mal à enchainer les étapes
1 on réalise ta requete attributaire sortie doublon OK
2 je lance le CREATE et c'est à cette étape que je bugge
voici la réponse à l etape 1 pour correction doublon
je continue a tester
merci beaucoup
Hors ligne
#51 Thu 19 January 2023 00:11
- Lsam
- Participant assidu
- Date d'inscription: 27 Nov 2013
- Messages: 157
Re: QGIS: SQL doublon
Bonjour,
Il faut que tu effaces toute la requête, et que tu la recolles à nouveau car la ligne commençant par "SELECT MAT [...]" ne devrait pas être la ligne n°18 ! Donc il y a trop de choses avant, tu as dû te tromper, mais on ne voit rien sur tes copies d'écran. Si tu pouvais plutôt nous coller :
1- la requête que tu exécutes
2- le message d'erreur (ça évite les pièces jointes inutiles)
Hors ligne
#52 Thu 19 January 2023 08:33
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Bonjour
Entendu je vais faire plus attention à mes illustrations
Merci
Hors ligne
#53 Thu 19 January 2023 15:01
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Bonjour LSAM
ETAPE 1
j'ai appliqué ta requete :
CREATE VIEW matricules_a_corriger AS
WITH doublons_matricules AS (
SELECT MAT as matricule_doublon, count(geometry) as nb_points_doublons
FROM CEREG_SIG
GROUP BY MAT
HAVING count(geometry) > 1
)
SELECT row_number() over(order by c.MAT) as id, c.MAT as matricule_incorrect, c.X, c.Y, d.nb_points_doublons, CastToXY(c.geometry) as geom
FROM CEREG_SIG as c
JOIN doublons_matricules as d ON d.matricule_doublon = c.MAT
;
EN REPONSE , il me donne :
table matricules_a_corriger already exists
Hors ligne
#54 Fri 20 January 2023 11:53
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
BONJOUR LSAM
pour information j'ai pu progressé
en fait la vue s'était créée mais il me fallait actualiser pour la voir dans ma sqlite
ensuite la requete trigger ne renvoie pas d erreur
je te tiens informé dd la suite envisagé à savoir corriger les valeur doublln dans la vue et tester au final
a bientot
LENO
Hors ligne
#55 Fri 20 January 2023 20:08
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Puis tu ouvres cette vue dans QGis, comme une table normale de ta base Spatialite
CEST cela sam que je ne sais comment faire
dois je l ajouter au canevas
COMMENT je l ajoutes ?
merci
Hors ligne
#56 Fri 20 January 2023 20:20
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
par ailleurs les deux etapes sql repondent a ma problematique parfaitement
c'est juste que je ne sais comment agir ou dans la correction
la vue crééée elle apparait dans mon sqlite apres actualisation
mais je comprends pas si je dois la transposer sur mon espace dessin
désolé
je cherche et je tente d avancer
Hors ligne
#57 Sat 21 January 2023 15:24
- arn974
- Participant assidu
- Date d'inscription: 11 Jan 2008
- Messages: 166
Re: QGIS: SQL doublon
Bonjour lSAM
je repars à 0
action 1 : je lance
CREATE VIEW matricules_a_corriger AS
WITH doublons_matricules AS (
SELECT MAT as matricule_doublon, count(geometry) as nb_points_doublons
FROM CEREG_SIG
GROUP BY MAT
HAVING count(geometry) > 1
)
SELECT row_number() over(order by c.MAT) as id, c.MAT as matricule_incorrect, c.X, c.Y, d.nb_points_doublons, CastToXY(c.geometry) as geom
FROM CEREG_SIG as c
JOIN doublons_matricules as d ON d.matricule_doublon = c.MAT
;
action 2 j actualise dans db manager et après cette action
la table matricule_a_corriger précédée d un carré vert
action 3
j'active le bouton creer vue et il me demande le nom de l'affichage que je valide
et en reponss une petitefenetre me dit
near "CREATE": syntax error
Hors ligne