Skip to main content

Hi,

I have two data sources with polygons. I need to match every single polygon from first dataset to every single polygon in second dataset. Output should be any pair that have their two polygons intersect.

I've tried to utilize SpatialFilter, but that doesn't do what I want. It only matche some polygons to each other.

I've had a look at SpatialRelator, but it still has assymetric inputs (Requestor, Supplier), so I think it'll work as SpatialFilter. Besides it requires some attribute condition which I can't meet.

What is the best way to make this M-by-N "spatial cross/outer join" ?

Cheers

 

Lars I.

Hi @lifalin2016, I think the SpatialRelator is what you are looking for. Have a look at the list attribute called "_relationships" by default, which contains every attributes of all the Supplier features that are spatially related to the Requestor feature.


Thanks Takashi,

I did look into the SpatialRelator in the meantime, and ended up with a custom transformer like this:

So your suggestion was spot on :-)

My only issue is that I can't seem to get the list of relationship tests to work as a transformer published parameter (type Choice), so it's sofar hardcoded in the SpatialRelator in the custom transformer :-S

Cheers

 

Lars I


Reply