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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 13 October 2017 16:53

kug
Participant occasionnel
Date d'inscription: 1 Jul 2013
Messages: 32

Identifier attributs modifiés

Bonjour,

Je dispose d'1 jeu de données à 2 dates différentes et je souhaiterais identifier les attributs ayant changé entre ces 2 dates.
J'arrive à identifier les objets modifiés, à savoir s'il s'agit d'une modification géométrique et/ou sémantique mais dans le cas d'une modification sémantique, j'aimerais savoir quels attributs ont été modifiés.
Quelqu'un aurait il une piste?

Merci d'avance

Hors ligne

 

#2 Fri 13 October 2017 18:24

Charlotte EllipSIG
Participant actif
Date d'inscription: 13 Oct 2017
Messages: 86

Re: Identifier attributs modifiés

Bonjour

Je vous conseille d'essayer le transformer "changedetector"

Hors ligne

 

#3 Mon 16 October 2017 10:40

kug
Participant occasionnel
Date d'inscription: 1 Jul 2013
Messages: 32

Re: Identifier attributs modifiés

Bonjour,
J'avais bien essayé changedetector mais pour lui un objet modifié apparait en détruit et en créé sans qu'on sache quelles modifications ont été apportées.

Hors ligne

 

#4 Mon 16 October 2017 16:01

Cherubin
Participant assidu
Lieu: NGC 1300
Date d'inscription: 10 Jun 2008
Messages: 273

Re: Identifier attributs modifiés

AttributeValidator

Hors ligne

 

#5 Wed 18 October 2017 10:43

Charlotte EllipSIG
Participant actif
Date d'inscription: 13 Oct 2017
Messages: 86

Re: Identifier attributs modifiés

C'est vrai pour le change detector.

Je n'arrive pas à trouver une solution qui analyse tous les attributs d'un seul coup, mais une piste qui fonctionne attribut par attribut :

- créer une liste des objets identique (par ex, si la géométrie n'a pas changée, en utilisant un matcher, sans sélectionner d'attributs à comparer mais uniquement la géométrie) (ou si il existe un identifiant sur les objets, avec un list builder)
- la liste indiquée, sera lisible par le port "single matched"
- ensuite, il est possible d'utiliser un listduplicateremover (mais qui ne fonctionne que sur un attribut à la fois), puis un listelementcounter et enfin un tester : si _elementcount supérieur à 1, c'est qu'il y a un changement

Le défaut de cette méthode est qu'il faut l'appliquer en parallèle sur chaque attribut, donc ce n'est viable que si le nombre d'attribut est faible.
J'insiste bien sur le "en parallèle", il ne faut pas mettre un 2ème listduplicate remover après le tester car des éléments auront été supprimés par le premier. Il faut donc repartir de la création de la liste pour chaque attribut.

La méthode n'est pas idéale mais bon ça marcherait...

Hors ligne

 

Pied de page des forums

Powered by FluxBB