Skip to main content
Question

How centroid is getting linked to one Parcel if centroid is lying on boundary of adjacent parcel

  • May 10, 2021
  • 15 replies
  • 13 views

Forum|alt.badge.img

In my case there Parcel is who is supplier and building centroid is requestor in SpatialRelator of FME Script. You can see black round in one below picture. So even if centroid is falling on adjacent parcel boundary it got link of one parcel. How come ? why it's not gone for one to many matches ?Screenshot 2021-05-10 at 12.29.58 PM 

Screenshot 2021-05-10 at 8.48.38 PM 

Screenshot 2021-05-11 at 11.50.51 PM

15 replies

hkingsbury
Celebrity
Forum|alt.badge.img+63
  • Celebrity
  • 1625 replies
  • May 10, 2021

I'm assuming in the SpatialRelator that you have set Attribute Accumlation to Merge Attributes? In this case, only one feature will merge. To get multiples features you'll need to set it to Generate List


Forum|alt.badge.img
  • Author
  • 36 replies
  • May 11, 2021

I'm assuming in the SpatialRelator that you have set Attribute Accumlation to Merge Attributes? In this case, only one feature will merge. To get multiples features you'll need to set it to Generate List

It has generate list


caracadrian
Contributor
Forum|alt.badge.img+23
  • Contributor
  • 571 replies
  • May 11, 2021

Use AnchoredSnapper with polygons as Anchor and points (centroids) as Candidates set to Segment Snaping (set a Snapping Distance too) then send them to SpatialRelator. This way you have more chances of getting attributes from both features.


Forum|alt.badge.img
  • Author
  • 36 replies
  • May 11, 2021

Means if I used AchoredSnapper it will link to both adjacent parcel if centroid falling on adjacent border of two parcel ? But which one will right ? current implementation or new ?


caracadrian
Contributor
Forum|alt.badge.img+23
  • Contributor
  • 571 replies
  • May 11, 2021

Means if I used AchoredSnapper it will link to both adjacent parcel if centroid falling on adjacent border of two parcel ? But which one will right ? current implementation or new ?

My guess is that your centroid point is not exactly on the boundary. The AnchoredSnapper will snap the point onto the boundary. Then set SpatialRelator to generate list like @hkingsbury​ said.


Forum|alt.badge.img
  • Author
  • 36 replies
  • May 11, 2021

My guess is that your centroid point is not exactly on the boundary. The AnchoredSnapper will snap the point onto the boundary. Then set SpatialRelator to generate list like @hkingsbury​ said.

As per data inspector and even above screenshot show its exactly over bounder of two adjacent parcel.


caracadrian
Contributor
Forum|alt.badge.img+23
  • Contributor
  • 571 replies
  • May 11, 2021

My guess is that your centroid point is not exactly on the boundary. The AnchoredSnapper will snap the point onto the boundary. Then set SpatialRelator to generate list like @hkingsbury​ said.

What is a "centroid" to you?

https://www.google.com/search?q=centroid&oq=centroid&ie=UTF-8


Forum|alt.badge.img
  • Author
  • 36 replies
  • May 11, 2021

My guess is that your centroid point is not exactly on the boundary. The AnchoredSnapper will snap the point onto the boundary. Then set SpatialRelator to generate list like @hkingsbury​ said.

For my case supplier is parcel shape file and building outline are requestor. For SpatialRelator input is parcel and building outline centroid ( calculated by inside point replacer ).


caracadrian
Contributor
Forum|alt.badge.img+23
  • Contributor
  • 571 replies
  • May 11, 2021

My guess is that your centroid point is not exactly on the boundary. The AnchoredSnapper will snap the point onto the boundary. Then set SpatialRelator to generate list like @hkingsbury​ said.

Can you supply a screen shot of your workspace?


Forum|alt.badge.img
  • Author
  • 36 replies
  • May 11, 2021

My guess is that your centroid point is not exactly on the boundary. The AnchoredSnapper will snap the point onto the boundary. Then set SpatialRelator to generate list like @hkingsbury​ said.

added screenshot what I was mentioned above.


caracadrian
Contributor
Forum|alt.badge.img+23
  • Contributor
  • 571 replies
  • May 11, 2021

My guess is that your centroid point is not exactly on the boundary. The AnchoredSnapper will snap the point onto the boundary. Then set SpatialRelator to generate list like @hkingsbury​ said.

Set SpatialRelator to Test for Touches and Within Supplier.

 

I still think you should use AnchoredSnapper before SpatialRelator. If a point is visually on a line doesn't mean it really is on the line.


caracadrian
Contributor
Forum|alt.badge.img+23
  • Contributor
  • 571 replies
  • May 12, 2021

My guess is that your centroid point is not exactly on the boundary. The AnchoredSnapper will snap the point onto the boundary. Then set SpatialRelator to generate list like @hkingsbury​ said.

Add Touches and Contains to your SpatialRelator Tests and you should get the list.

I still think you should use AnchoredSnapper before SpatialRelator. If a point is visually on a line it doesn't mean it is physically on it.


nielsgerrits
VIP
Forum|alt.badge.img+60
  • 2938 replies
  • May 12, 2021

My guess is that your centroid point is not exactly on the boundary. The AnchoredSnapper will snap the point onto the boundary. Then set SpatialRelator to generate list like @hkingsbury​ said.

Not sure what kind of result you expect. If the point is on multiple areas, it will still output only one point, but it will have a list with relationships. If you want a record for each match you can use a ListExploder to create a feature for each list item.

I added a sample workspace demonstrating this. Select the point in the Inspector and look in the Feature Information window for the list.

I also agree with @caracadrian​ that the point is probably not exactly on the border of the second area, but without the data this is hard to check :-)


Forum|alt.badge.img
  • Author
  • 36 replies
  • May 18, 2021

My guess is that your centroid point is not exactly on the boundary. The AnchoredSnapper will snap the point onto the boundary. Then set SpatialRelator to generate list like @hkingsbury​ said.

I tried with LeftRightSpatialCalculator to check whether point reside where left or right. It give me output as left.


Forum|alt.badge.img
  • Author
  • 36 replies
  • May 18, 2021

My guess is that your centroid point is not exactly on the boundary. The AnchoredSnapper will snap the point onto the boundary. Then set SpatialRelator to generate list like @hkingsbury​ said.

Thanks for all information.