I have 3 point feature classes (A,B and C) and 1 polygon feature class. I am trying to extract only features from feature class A that lay inside polygons which already containg features from feature class B or C. I tried "PointOnAreaOverlayer" and "SpatialRelator" Transformers but for some reason I dont get desired results. Any hint how this can be done in FME 2021 ?
2 Answers
I think you have the right transformers, but just need to use them in a specific way.
- So first add an attribute to the B and C point features. Let's call it BorC. Give it a value of 1
- Now use the PointOnAreaOverlayer to find which polygons B and C point features fall within. Make sure you copy the attributes from points to polygons. That way the polygons will now have the BorC attribute if they contain B or C points.
- Again use the PointOnAreaOverlayer to find A points that fall inside the polygons. Again transfer the attributes.
Now if an A point has the attribute BorC (test BorC = 1) then you'll know it falls inside a polygon that also includes a B or C point feature.
-
1@gisgis under Attribute Accumulation set to Merge Incoming docs.safe.com/fme/html/FME_Desktop_Documentation/…– Mapperz ♦Commented May 10, 2021 at 19:20
I've found Clipper to be straightforward for this. A nice feature of the transformer is that there are output ports for both features inside and outside the clip shape.