Skip to main content

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

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


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


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.


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 ?


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.


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.


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


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 ).


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?


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.


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.


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.


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 :-)


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.


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.


Reply