Solved

PointOnAreaOverlayer Help - One Point shared between two polygons


Userlevel 2
Badge +10

Hi Community,

 

Classic issue with the PointOnAreaOverlaye where I have got one location where the same centroid is shared between two parcels and want to bring the information from point to area. Attached two screenshots that explain the situation. In theory...by creating a list and exploding should work but doesn't give me what I want as the output contains 2 parcels overlaps where there're two points

 

Example 1) I need to bring the assign the point info to each of the parcels. As you can notice the point on the left is shared between two parcels.

Example 1Example 2) Also, I need to bring the assign the point info to each of the parcels. As you can notice the point on the right is shared between two parcels.

Example 2I have tried to 'Generate List on output Area' and then explode but the 'element_index' and '_overlap' are different so can't use a tester to filter the list.

I have also tried NeighborFinder to filter only those centroids at the middle of the parcel .

 

Thanks All for any help in advanced 🙂

icon

Best answer by dustin 30 March 2023, 20:39

View original

4 replies

Userlevel 3
Badge +26

What about a SpatialRelator?

Userlevel 2
Badge +10

Thanks @dustin​ , just tried too and unfortunately gives me the same result: the  'element_index' and '_related_candidates' values are different therefore can't use the tester to filter them. There must be a workaround to tell FME to assign the 'centre point attributes' to the parcel at the middle of centroid and exclude any overlapping.

Userlevel 3
Badge +26

Thanks @dustin​ , just tried too and unfortunately gives me the same result: the  'element_index' and '_related_candidates' values are different therefore can't use the tester to filter them. There must be a workaround to tell FME to assign the 'centre point attributes' to the parcel at the middle of centroid and exclude any overlapping.

Ahh, I see what you are trying to accomplish. How about this:

 

  • Use a GeometryExtractor on the areas to store the geometry to an attribute.
  • Send the areas to a CenterPointReplacer with Center of Gravity as the mode.
  • Use a NeighborFinder to match the areas' centerpoints with the centroid points.
  • Once the attributes are transferred, use a GeometryReplacer to reestablish the original area geometry.

image 

Userlevel 2
Badge +10

Niiiiice - it worked . 5 stars @dustin​ :) you made my FME day! thanks a lot

Reply