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

#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,

arn974 a écrit:

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

 

#38 Thu 05 January 2023 08:19

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

Re: QGIS: SQL doublon

Bonjour

la voici

non je vois pas les points dans l'espace dessin.

cordialement


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

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


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

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


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

Hors ligne

 

#43 Thu 05 January 2023 17:10

Lsam
Participant assidu
Date d'inscription: 27 Nov 2013
Messages: 157

Re: QGIS: SQL doublon

Lsam a écrit:

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.


arn974 a écrit:

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

......


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

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

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


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

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

 

Pied de page des forums

Powered by FluxBB