The second image represents the two input layers. It is possible to see that there are shifts between the layers. Following the AreaOnAreaOverlayer (fig. 2), “intermediate” polygons are created. I performed a TestFilter to identify polygons <= 1. Now, I would like to dissolve polygons less than or equal to 1 on the rest of the polygons according to a specific attribute (OBJECTID_CAD). Indeed, I would like to respect as much as possible the geometry of one of the two layers (which was created by surveyors).
Hi there!
I think you can solve this in two steps, using both the SpatialRelator and the Dissolver.
Use the SpatialRelator to determine a spatial relationship with a nearby polygon (or multiple polygons), and using the Group By parameter to make sure the relationship will only be determined if the set attribute there has the same value for both polygons, so:
SpatialRelator:
- Group by OBJECTID_CAD
- Requestors are your filtered <=1 polygons
- Suppliers are rest of your geometries.
- Spatial Predicates to Test (requestor ogc-touches supplier)
- check merge attributes
Now, make sure to have an attribute that you can merge on the features when your <=1 polygons have a relation with that feature, so you can either use an existing attribute, or create a unique value using something like a Counter.
After this, you can use a Dissolver transformer and group by the unique value you chose to merge on your features, and you should have a result where the "slivers" have become part of either one of the neighboring geometries.
I'm not entirely sure what your data looks like as is, but it might even give you the wanted result by just using the Dissolver transformer with Group by OBJECTID_CAD.
Hope this helps & good luck!
Pim