2

I am very new to FME.

I have 10 shapefiles which overlap but not from beginning to the end! Therefore I want FME to detect "segments" where there is overlapping and splits into such segments the requestor shapefile in order to be able to merge attributes of all overlapping shapefiles into that particular segment. To simplify I have prepared a very basic sketch to hopefully make clear what I want.

enter image description here

the red shape file down is actually shape file A which is splitted based on overlapping other shapefiles B,C and D

2

I think Mapperz is leading you on the right track with his comment about the AreaOnAreaOverlayer. However, it looks like your data is linear. In that case, you should try the LineOnLineOverlayer. From the documentation,

The LineOnLineOverlayer takes in line features and compares them to each other. Where they intersect, the lines are split, each segment retaining its original attributes and receiving attributes from the intersecting line.

Hopefully, that should do what you need.

  • 1
    Yes, I agree this is the way to go, and this transformer has the ability to merge attributes. If it's important to know what file overlapped, I would suggest adding a list attribute (it's one of the attribute settings). Because that way you would know that line #3 is made up of A+C+D. Otherwise you'll get the same line, but you won't know which other shapefiles caused the splitting. The best attribute to tell you what file a feature came from is either fme_basename or fme_feature_type, and you can expose those in the reader feature type dialog. – Mark Ireland May 15 at 15:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.