span8
span4
span8
span4
Hi everyone,
I am using a ChangeDetector, only on one attribute "parcelle", to compare differences between polygon layers, but there is a problem because all of the polygons are detected as "changed" (then they should not, because values of "parcelle" attributes are the same in the two layers) :
Port 1 (Added) :
Port 2 (Deleted) :
I thought that the problem was because of the encoding of these attributes. So I have tried to use the AttributeEncoder Transformer, but it changes nothing :
I also have tried a FeatureMerger on these attributes and it works.
Thank you.
Aurélien
Hello @arxit,
Are you able to attach your workspace or a sample of the data(1feature from each source to an FFS file would work)?
Secondly, on one of the images, 'pict-1.png' it almost appears that there is whitespace at the end of the value so rather than '1391' it looks like it could be '1391 '. Are you able to just verify this? I think I may just be seeing things/stretching it.
Try inserting a StringFormatter with the format string "s" (only the letter s, no quotes) on both datasets entering the ChangeDetector:
You could also try inserting an AttributeTrimmer as well, in case there are any spaces or non-printable characters.
I was not able to reproduce the issue using FME 2017.1.
I've had some interesting challenges with the ChangeDetector/UpdateDetector in the past.
To debug I suggest you use a Tester to only allow through one equivalent polygon from each stream, then remove all the attributes except the one your are testing against. Then check the results. If it works OK then start to isolate the problem by allowing attributes through.
Alternatively can you post a screen capture of the two relevant features (using Run with Breakpoints) just before they enter the ChangeDetector.
Finally, post the data with a small sample. You can use the Recorder transformer to create an FFS file that you can upload.
Try temporarily replacing the ChangeDetector with a FeatureMerger, merge on "parcelle". If the behavior is the same, I pretty much guarantee that the problem is with the features themselves and not a bug with FME.
You could also consider posting a small sample dataset here that exhibits the problem, that would be very helpful.
Another thing to try is to read the "parcelle" attribute from both sources as integer.
To change the reader feature type you need to change this setting:
This is what the ChangeDetector settings should look like:
Thank you for your replies.
No, i don't check geometries, but only one attributes ("parcelle").
My Datasets using both the same coordinate system (EPSG 2154).
Have you verified for precision differences? Try inserting a CoordinateRounder to 3 decimal places on both datasets before the ChangeDetector.
Detect different attribute values between two dataset? 1 Answer
Change detector on attributes only 3 Answers
Use change detector and keep attributes (further question to an existing question) 1 Answer
ChangeDetector: Changes detected on the same dataset and datatype 1 Answer
Create a unique key on a item in a oracle table based on the description,Hello, 4 Answers
© 2019 Safe Software Inc | Legal