Skip to main content

I am trying to use SpatialRelator with SDE and GDB layers that are the same data but the data is not matching up. I am using "Requestor OGC-Equals Supplier" to compare the layers. The point is when we get new data we can uploaded only the changed data into the SDE but I am unable to get the layers to match up. Both are WGS 84 and line up in FME Maps and in ArcGIS Pro they also intersect when running tools.

 

There is no errors in the FME work flows that pop up after running it.

The spatial relator has no concept of tolerance, features must be an exact match. Depending on the setup of your GDB and SDE layers, there may be very minor differences at a coordinate level which means the spatial relator does not consider them an exact match.

 

You could look at using a Matcher instead, this will allow you to set a vector tolerance


As @ebygomm​ pointed out this is caused by the grid SDE uses to snap the geometry to. This grid is not used in GDB, so if the source is GBD, the geometry is always (a very little bit) different.

 

Until FME 2020 you could simulate this behavior with the ArcSDEGridSnapper, but this transformer is now deprecated.

 

My previous solution for this was sending the GDB data through the ArcSDEGridSnapper before trying to detect changes but if it works using the Matchers Vector Tolerance that is a better solution.


Reply