Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Printemps des cartes 2024

#1 Mon 22 October 2018 14:05

Epipactis
Participant occasionnel
Date d'inscription: 28 May 2018
Messages: 11

QGIS 3.0: Suppression de "presque doublons"

Bonjour à tous,

J'ai donc une couche d'entrée contenant 300 000 données. L'un de ces champs ("Nom") est un champ texte contenant environ 300 chaînes de caractères différentes. Quand j'affiche toutes les données sur la carte, on n'y voit plus rien car elles se recouvrent toutes les unes les autres.

Je cherche donc à supprimer les données ayant la même valeur dans un champ texte si ces données sont trop proches géographiquement.

Pour essayer d'automatiser le nettoyage des données, j'ai essayé en utilisant le modeleur de traitements.
- Je crée d'abord une matrice de distance pour cette couche.
- Ensuite, je sélectionne dans cette matrice toutes les distances inférieures à une certaine valeur (nommons la D).
- Je joins ensuite à la matrice la valeur du champ "Nom" correspondant à chaque ID de la matrice.
- Je me retrouve avec une table de type "InputID","TargetID", "Distance", "NomID1", "NomID2".
- Je sélectionne alors les données répondant aux critères suivant : "NomID1" = "NomID2" ET "DIstance" < D.
- Je me retrouve alors avec une liste de mes valeurs en double et proches géographiquement.

Cependant, je ne sais pas comment ensuite dire à QGis de conserver une seule des valeurs en double proches (j'ai parfois 5 valeurs en double proche).
De plus, dans cette table des "presque doublons", chaque doublon apparaît 2 fois, une fois avec l'identifiant de l'une des données en "InputID" et celui de l'autre donnée en "TargetID", et une seconde fois avec les identifiants inversés (le premier dans "TargetID" et le second dans "InputID").

Voilà, si vous pouvez me dépanner je suis preneur smile J'espère que mes explications sont assez claires.

Merci d'avance !

Dernière modification par Epipactis (Mon 22 October 2018 15:07)

Hors ligne

 

Pied de page des forums

Powered by FluxBB