Skip to main content
Solved

Question about spatialRelator

  • October 14, 2014
  • 2 replies
  • 14 views

Forum|alt.badge.img
I would like to use the spatialRelator to test if a requestor intersects a candidate but excluding those where it is only the boundaries that touch the candidate.

 

 

See this image:

 

 

Thank you!

Best answer by takashi

Hi,

 

 

You can control kinds of spatial relationships that should be detected with the "Tests to Perform" parameter. Try this setting to exclude the TOUCHES relation.

 

-----

 

Tests to Perform: EQUALS OVERLAPS CONTAINS WITHIN

 

-----

 

See also here to learn more about spatial relations

 

Spatial Relations Defined (http://docs.safe.com/fme/html/FME_Transformers/Default.htm#Transformers/spatialrelations.htm)

 

 

Takashi
This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

2 replies

takashi
Celebrity
  • Best Answer
  • October 15, 2014
Hi,

 

 

You can control kinds of spatial relationships that should be detected with the "Tests to Perform" parameter. Try this setting to exclude the TOUCHES relation.

 

-----

 

Tests to Perform: EQUALS OVERLAPS CONTAINS WITHIN

 

-----

 

See also here to learn more about spatial relations

 

Spatial Relations Defined (http://docs.safe.com/fme/html/FME_Transformers/Default.htm#Transformers/spatialrelations.htm)

 

 

Takashi

gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • October 15, 2014
In addition to testing for relations_pass-criteria = Touches, as Takashi suggests, you also need to check its cardinality:

 

_relationships{0}.card_line > 0

 

 

Set "calculate cardinality" = Yes.

 

Expose the attribute(s).

 

 

That is, if u wish to exclude objects that only touch by a point ( _relationships{0}.card_point > 0)