The issue is that FME compares the geometries using full precision floating point arithmetric, meaning that if a coordinate had a slight change at the 9th decimal, it will be flagged as modified.
FME 2018 and onwards has a tolerance settingon several transformers that can help in these cases, but it's a very common issue.
The issue is that FME compares the geometries using full precision floating point arithmetric, meaning that if a coordinate had a slight change at the 9th decimal, it will be flagged as modified.
FME 2018 and onwards has a tolerance settingon several transformers that can help in these cases, but it's a very common issue.
I see, so does this mean after going through ArcGIS topology check, my data have been slightly changed at 9th decimal, all I need to do is to set CoodinatorRound parameter to 8?
Most transformers have tolerance parameters are overlayer transformers, I'm not sure these transformers will help me on this case.
I see, so does this mean after going through ArcGIS topology check, my data have been slightly changed at 9th decimal, all I need to do is to set CoodinatorRound parameter to 8?
Most transformers have tolerance parameters are overlayer transformers, I'm not sure these transformers will help me on this case.
That would be my first suggestion, yes.
Another option would be to use the AnchoredSnapper with a similar tolerance.
The issue is that FME compares the geometries using full precision floating point arithmetric, meaning that if a coordinate had a slight change at the 9th decimal, it will be flagged as modified.
FME 2018 and onwards has a tolerance settingon several transformers that can help in these cases, but it's a very common issue.
I found out what caused the problem, like I said, topology dataset changed some polygons by adding vertices to their boundaries' intersections. Pictures below is an example:

Polygons in the left pictrues each has 4 vertices before they went through Arcgis topology check, and after Arcgis topology check, even though there was no rules set, each polygon has 5 vertices.
I tried Extra Vertex Tolerance parameter in the ChangeDetector, but I'm not sure what number I should enter, my data is much more complex than the example. If I set 1 or 2, I still I get a lot wrong output. If I set 10 or bigger, some changed polygons will go through Unchanged port.
Is there any way to rule out this situation?