Bienvenue! Inscrivez-vous et rejoignez notre communauté :)
  • Login:

Bienvenue sur Forum SIG - Systèmes d'Information Géographique et Géomatique.

Bienvenue sur le forumSIG. S'il s'agit de votre première visite, assurez vous de faire une recherche préalable dans les FAQ SIG. Vous devez vous inscrire avant de pouvoir poster.

Affichage des résultats 1 à 5 sur 5
  1. #1

    Date d'inscription
    octobre 2017
    Messages
    3

    Par défaut 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 J'espère que mes explications sont assez claires.

    Merci d'avance !

  2. #2
    Chasseur de Bots
    Date d'inscription
    août 2011
    Localisation
    Paris > Strasbourg
    Emploi
    Chargé de mission SIG
    Âge
    34
    Messages
    1 484

    Par défaut Re : Suppression de "presque doublons"

    Il faut définir plus de règles et à mon sens, traiter les données de manière itérative.
    Je m'explique, j'ai je pense très bien compris la problématique :

    - Imaginons un groupe de 3 données 1, 2 et 3.
    - Ces 3 données sont alignées.
    - La distances 1 - 2 < D, 2 - 3 < D mais 1 - 3 > D.

    La solution ici serait de supprimer 2. Hors, si l'on traite cas par cas, c'est à dire 1 - 2 puis 2 - 3 et que l'on fixe comme règle d'en supprimer un deux au hasard, on risque au lieu de supprimer une seule donnée, d'en supprimer plusieurs.

  3. #3

    Date d'inscription
    octobre 2017
    Messages
    3

    Par défaut Re : Suppression de "presque doublons"

    Merci pour ta réponse
    J'avais pensé à utiliser l'itération mais je ne m'y connais pas en SQL et autres languages, je ne sais donc pas comment faire. Aurais-tu des pistes de code à me donner par hasard ?

  4. #4
    Chasseur de Bots
    Date d'inscription
    août 2011
    Localisation
    Paris > Strasbourg
    Emploi
    Chargé de mission SIG
    Âge
    34
    Messages
    1 484

    Par défaut Re : Suppression de "presque doublons"

    Autre possibilité, lorsque tu parles d'affichage, est-ce que c'est un affichage des étiquettes ou des entités ? Si ce sont des étiquettes, le moteur d'étiquetage de QGIS permet de supprimer les doublons d'étiquettes.
    Si ce sont des entités, comme dit, il faut des critères supplémentaires.

    Voici un exemple de code écrit pour une problématique qui peut se rapprocher de la tienne :
    http://www.forumsig.org/showthread.p...l=1#post330681

  5. #5

    Date d'inscription
    octobre 2017
    Messages
    3

    Par défaut Re : Suppression de "presque doublons"

    Il s'agit de supprimer les entités.
    Merci pour cette piste ! Le code se rapproche effectivement beaucoup de ma problématique, mais est-il possible de le transposer sous QGIS ou ça ne marche que via Access ? Je ne gère pas du tout le Python (il me semble que ça en est non ?) et je ne sais donc pas comment adapter le code.

 

 

Discussions similaires

  1. [PostGIS] Suppression d'une tabletable & ligne correspondante dans la table "Geometry_column"
    Par Florentlg dans le forum Assistance et Programmation
    Réponses: 2
    Dernier message: 03/03/2015, 14h09
  2. [MapInfo 9.x] Problème de doublons suite à une requête sql "contains"
    Par MarineL dans le forum Assistance Technique
    Réponses: 13
    Dernier message: 14/06/2014, 08h14
  3. [QGIS 2.x] Concaténation, suppression des valeurs "0"
    Par Douglas dans le forum Assistance et Programmation
    Réponses: 1
    Dernier message: 17/10/2013, 15h02
  4. Réponses: 6
    Dernier message: 18/03/2009, 18h57
  5. [MapBasic 8.x] Suppression des "croix de fermeture"
    Par stephane dans le forum Programmation
    Réponses: 3
    Dernier message: 12/06/2007, 17h34

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •