Question

Issue with SpatialRelator

  • 30 November 2022
  • 6 replies
  • 16 views

Badge +3

Morning,

I'm using the SpatialRelator to find what points (a site) relate to lines (sewers) to find the type of sewer is joined to the site.

Despite configuring the SpatialRelator to Requestor intersects / touches the Supplier the output is showing no relationships:

Capture 

Capture1Can anyone let me know if this is correct? Do I need to apply a tolerance?

Both features come from the same GIS system, with the same coordinate system, and that GIS does not allow features not to join each other in the connected network, so there is definitely a relationship between the point and line.

 

Cheers


6 replies

Badge +3

zoom in and see, if the line and points are touching or not.

maybe you can check for point and line coordinates(x,Y)

 

 

Have you tried...

try point on line overlayer

or

spatial filter also

Userlevel 6
Badge +32

Due to floating point precision it is often hard to match points on lines. This can be seen in the Feature Information window in the Inspector. Select the point and copy the coordinate to notepad, select the line and copy the coordinate of the corresponding endpoint to notepad and see the differences.

 

You can try to use an AnchoredSnapper upstream of the SpatialRelator, snapping the points to the lines using a very small tolerance.

Userlevel 3
Badge +26

This is a common issue with the reasoning nielsgerrits mentioned above. I usually save the point geometry to binary, convert the points to a small buffer, perform spatial test, and then replace the buffer with the original point geometry.

image

Badge +3

Thanks both. Yes, I have used a PointOnLineOverlayer which works fine, but I'll use the AnchorSnapper and snap the point to the line for clarity. Cheers!

Badge +3

This is a common issue with the reasoning nielsgerrits mentioned above. I usually save the point geometry to binary, convert the points to a small buffer, perform spatial test, and then replace the buffer with the original point geometry.

image

Thank you - that's very useful. I'll remember that for future use. Thank you for the file!

Badge +2

Thanks both. Yes, I have used a PointOnLineOverlayer which works fine, but I'll use the AnchorSnapper and snap the point to the line for clarity. Cheers!

@nedwaterman​ this is a common difference between the SpatialRelator and other FME spatial join tools. A little more background on the topic in this thread. AnchorSnapper & SpatiaRelator should work for you.

Reply