I have data for various sites and some sites have been digitised more than once and have overlapping polygons. However, these are not virtually identical polygons. They only partially overlap. I want to find the sites that have overlapping polygons. I tried using SpatialRelator with "Intersect", using the same data as both Requestor and Supplier but it picked up instances where one polygon was actually adjacent to another but probably just overlaps a tiny bit. This resulted in 3700 out of 3900 having more than 1 related candidate which doesn't really shortcut the process. "Contains" wouldn't work because not all overlapping polygons are completely contained.
Find polygons that overlap more than just a bit
Best answer by daveatsafe
Hi @tim_wood,
I have run into this problem before, and my solution was to use the AreaOnAreaOverlayer on the polygons. Use an AreaCalculator on the output, then a Tester to test for _overlaps > 1 and _area greater that your desired minimum area.
If the polygons have shapes that may result in an overlap being split into several pieces by the overlay, you can refine the process. Use a Counter on the input polygons to give them all a unique id, then create a list of the ids in the overlayer, using the Generate List setting. Between the overlayer and the AreaCalculator, sort the list by the id number with a ListSorter, then use a ListConcatenator to create a single attribute from the list. You now have a consistent id for each part of the polygon overlap. Aggregate these, grouping by the id, into a single multi-area before measuring the area and testing the overlaps.
Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.