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 Tue 09 February 2016 11:07

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Problème de somme sur le transformer Dissolver

Bonjour @tous.

J'ai un souci sur lequel je me casse la tête au niveau du transformer Dissolver, je m'explique.

1/ J'ai un maillage de carreaux composé de la façon suivante :

Maille 1 : champ_id = 10 / champ 1 = NULL / champ 2 = 2
Maille 2 : champ_id = 10 / champ 1 = 0      / champ 2 = 2
Maille 3 : champ_id = 10 / champ 1 = 1      / champ 2 = 2
Maille 4 : champ_id = 10 / champ 1 = 2      / champ 2 = 2

2/ Je fais passer ce maillage vers un transformer Dissolver_1 paramétré de la façon suivante :

Regrouper par : champ_id
Dissolution des inclusions : Oui
Accumuler les attributs en entrée : Oui
Attribut(s) à sommer : champ 1, champ 2
Attribut nbre d'éléments dissous : nombre

3/ J'ai en résultat :

Maille 1 :  champ_id = 10 / champ 1 = 4 / champ 2 = 8 / nombre = 4

Alors ma question est la suivante : Pourquoi Dissolver me calcul-t-il 1 élément de plus sur certains champs ???? (A savoir dans cet exemple le champ 1)

----------------------------------------------------------------

Pour information j'ai testé la façon suivante :

2/ Je fais passer mes mailles par un AttributeRemover et je ne conserve que les champs : champ_id / champ 1

3/ Je fais passer ce maillage vers un transformer Dissolver_2 paramétré de la même façon que Dissolver_1 :

Attribut(s) à sommer : champ 1

4/ J'ai en résultat :

Maille 1 :  champ_id = 10 / champ 1 = 3 / nombre = 4

Et là je me dis : Mais Pourquoi ?? Je ne comprend pas du tout le comportement de FME sur ce coup-là. Avez-vos une idée ?

Par avance merci.

Geo-x

Dernière modification par Geo-x (Tue 09 February 2016 11:08)

Hors ligne

 

#2 Tue 09 February 2016 11:24

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1017
Site web

Re: Problème de somme sur le transformer Dissolver

Salut,

C'est un souci de gestion du NULL donc ? Et si tu passes 0 à la place du NULL ?


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#3 Tue 09 February 2016 11:25

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Problème de somme sur le transformer Dissolver

Alors mon exemple n'est pas très précis dans le sens ou dans le Workbench que je traite, j'ai plusieurs NULL, mais j'ai toujours un +1 sur le champ1.

Pour information aussi je suis sur FME 2012.

Hors ligne

 

#4 Tue 09 February 2016 15:11

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1017
Site web

Re: Problème de somme sur le transformer Dissolver

T'as pas un jeu de données pour tester ?


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#5 Tue 09 February 2016 18:12

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Problème de somme sur le transformer Dissolver

Vous trouverez en pièce jointe un jeu de données (Le champ incriminé = habitat_8).

Je viens de me rendre compte que cet addition inattendue est en fait une conséquence d'un traitement parallèle que je vous laisse découvrir, mais pourquoi il y a cette conséquence ?? Là je sèche ...

Geo-x


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

Hors ligne

 

#6 Wed 10 February 2016 10:15

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1017
Site web

Re: Problème de somme sur le transformer Dissolver

Salut j'ai regardé ton workbench.

Déjà personnellement pour la jointure spatiale j'utiliserai Saptialrelator avec un contains+ intersect si besoin
Ensuite, je pense qu'un aggregator en fin de parcours serait plus adapté par rapport au dissolver

Je pense que vers la fin de ton workbench le fait de re-laisser passer toutes les données via ton AttributeRemover_10 vers ton dissolver est une erreur qui doit fausser la somme globale.

Une idée de comment j'aurais fais en pj

Dernière modification par heretik25 (Wed 10 February 2016 10:16)


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

Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#7 Thu 11 February 2016 11:55

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Problème de somme sur le transformer Dissolver

Merci pour ta réponse, je regarde dès que possible et te tiens au courant.

Geo-x

Hors ligne

 

#8 Tue 16 February 2016 10:57

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Problème de somme sur le transformer Dissolver

Je viens de tester sur un faible jeu de données et il semblerait, en effet, que l'aggregator rectifie ce problème.

Je vais donc passer au test final : le traitement de l'ensemble de mes données.

Je vous tiens au courant.

Geo-x

Hors ligne

 

#9 Tue 16 February 2016 12:36

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1017
Site web

Re: Problème de somme sur le transformer Dissolver

Impeccable :-)


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#10 Tue 16 February 2016 17:39

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Problème de somme sur le transformer Dissolver

Et en prime c'est beaucoup plus rapide !!

Hors ligne

 

#11 Wed 17 February 2016 08:46

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1017
Site web

Re: Problème de somme sur le transformer Dissolver

La cerise sur le gâteau  smile

Dernière modification par heretik25 (Wed 17 February 2016 08:47)


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#12 Wed 17 February 2016 09:11

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Problème de somme sur le transformer Dissolver

Bon alors le seul problème c'est que ça me crée des géométries multiples là ou je ne peut qu'accepter des géométries simples (Et c'est vrai que c'est pour ça que c'est plus rapide).

Du coup, ce que je peux faire, c'est que vu que ma destination est une BDD Postgres/Postgis, est-ce qu'il est possible, dans FME de lui demander d'exécuter une requête à la fin du traitement (Requête qui permettra le passage de géométrie complexe en géométrie simple).

Hors ligne

 

#13 Wed 17 February 2016 09:29

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Problème de somme sur le transformer Dissolver

Ou alors je peux faire en suivant un Deaggregator suivi d'un DuplicateRemover ça me permet de ne conserver qu'un seul maillage contenant les informations.

Hors ligne

 

Pied de page des forums

Powered by FluxBB