Skip to main content
Solved

Many to One Address Points to Polygon Parcels


Forum|alt.badge.img

I am attempting to make a spatial relation between a point and a polygon file.

The point file holds unit level address information. This is a point feature class that will have a point location for a street address. For example, 234 First Street will have one point representing it. However, in this point file, if there are many Units at a single street address, there will be many points lying on top of each other. Say there are two units at 234 First Street, there will be two points directly on top of each other, say, A-234 First Street and B-234 First Street.

The polygon file holds all of the parcel information. This parcel information has the zoning and parcel information attached. Say, Parcel A is zoned R1, Parcel B is zoned R1 and RR2, etc...

We want to surface this information in our Web GIS at a unit level. Displaying all pertinent info for each unit address individually. We would like to join each single address point to a single parcel. Essentially creating a many to one relationship. Many being the addresses (unit level) to the single parcel they sit on.

We would like the output to be parcel based. With each address point having one parcel attached to it. This is so that when interacting with the parcels on a Web GIS, we can just click on the parcel and get the unit information. Thus reproducing the way the addresses sit on top of each other, just only with the Parcels this time.

I have tried beginning with the SpatialRelator, but am unsure as the output I am producing only has attributes from either one or the other inputs. Before continuing I figured I'd ask.

Any recommendations?

Thanks!

Best answer by courtney_m

@francism, the SpatialRelator should work - Make sure you have your parcels set as the requester, and the address points as the supplier. Spatial predicates to test should be "Requestor Contains Supplier". Make sure Merge Attributes is checked! Also, check generate list - this will create a list of contained addresses on each parcel.

You can see the list in the attribute inspector, in the Feature Information window.

You could then use a ListExploder to create one record per address/parcel combination.

View original
Did this help you find an answer to your question?

7 replies

bruceharold
Contributor
Forum|alt.badge.img+17
  • Contributor
  • August 15, 2017

Hi, your Web GIS should have a way to find the address points within each polygon and vice versa, so hopefully you don't need to cook the relationships into the data, check out the available widgets and Javascript methods.


Forum|alt.badge.img
  • Author
  • August 15, 2017
bruceharold wrote:

Hi, your Web GIS should have a way to find the address points within each polygon and vice versa, so hopefully you don't need to cook the relationships into the data, check out the available widgets and Javascript methods.

Thank you bruceharold for your input!

 

Yes, you're right. There are widgets that would allow a type of workflow like this. However, that is not what I am looking for. This is just one step in a larger FME workflow and MUST be performed using FME. Yes, I am saying I want to cook this relationship into the data.

 

Thanks!

 

 


courtney_m
Contributor
Forum|alt.badge.img+12
  • Contributor
  • Best Answer
  • August 15, 2017

@francism, the SpatialRelator should work - Make sure you have your parcels set as the requester, and the address points as the supplier. Spatial predicates to test should be "Requestor Contains Supplier". Make sure Merge Attributes is checked! Also, check generate list - this will create a list of contained addresses on each parcel.

You can see the list in the attribute inspector, in the Feature Information window.

You could then use a ListExploder to create one record per address/parcel combination.


courtney_m
Contributor
Forum|alt.badge.img+12
  • Contributor
  • August 15, 2017
courtney_m wrote:

@francism, the SpatialRelator should work - Make sure you have your parcels set as the requester, and the address points as the supplier. Spatial predicates to test should be "Requestor Contains Supplier". Make sure Merge Attributes is checked! Also, check generate list - this will create a list of contained addresses on each parcel.

You can see the list in the attribute inspector, in the Feature Information window.

You could then use a ListExploder to create one record per address/parcel combination.

Note: If you have any parcels that do not contain any address points, they will exit the rejected port of the ListExploder - if you don't want them to be rejected, you can use a Tester before the ListExploder to filter them out.

 


ebygomm
Influencer
Forum|alt.badge.img+39
  • Influencer
  • August 15, 2017

I would extract the parcel geometry into an attribute, then a point on area overlayer, followed by a geometry replacer to replace the point geometry with the relevant polygon geometry


Forum|alt.badge.img
  • Author
  • August 15, 2017
courtney_m wrote:

@francism, the SpatialRelator should work - Make sure you have your parcels set as the requester, and the address points as the supplier. Spatial predicates to test should be "Requestor Contains Supplier". Make sure Merge Attributes is checked! Also, check generate list - this will create a list of contained addresses on each parcel.

You can see the list in the attribute inspector, in the Feature Information window.

You could then use a ListExploder to create one record per address/parcel combination.

Hi Courtney! Thanks for your suggestion.

 

 

This solution has worked for me like so.

 

Parcels going in as Requestor and Addresses as Supplier, then the output going through the ListExploder, then running the Elements output of the ListExploder in a DuplicateFilter to eliminate any redundancies. I think I was Generating a list from the SpatialRelator but not properly extracting it to a Exploded List.

 

 

This has created the output that I need.

 

 

Thanks!

 


courtney_m
Contributor
Forum|alt.badge.img+12
  • Contributor
  • August 15, 2017
francism wrote:
Hi Courtney! Thanks for your suggestion.

 

 

This solution has worked for me like so.

 

Parcels going in as Requestor and Addresses as Supplier, then the output going through the ListExploder, then running the Elements output of the ListExploder in a DuplicateFilter to eliminate any redundancies. I think I was Generating a list from the SpatialRelator but not properly extracting it to a Exploded List.

 

 

This has created the output that I need.

 

 

Thanks!

 

Perfect! I am glad I could help!

 

 


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings