Question

FeatureMerger Many to Many

  • 17 January 2018
  • 4 replies
  • 12 views

Badge

Hi all,

I'm working with a FeatureMerger transformer connecting address points to ownership information.

I have address points that have a location point and a address String. Unfortunately there are single addresses that have multiple address point locations. Thus there are repeated features.

The ownership information has ownership by address. To attach this information to a geographic location, I am using the FeatureMerger. Ownership is by address, but there may be multiple owners per location (think apartment building).

I want to run this through the FeatureMerge and create a point file output that has each ownership information value to an address point.

The problem I'm running into is that for each address point that has multiple points for a single address value, that value doesn't get merged to the ownership information at that address.

The ownership information is the Requestor, and the Address Points is the supplier.

I have Process Duplicate Suppliers set to YES.

I have tried to Generate List and then use a ListExploder as well. It did not seem to work.

Any thoughts?

Thanks!


4 replies

Badge +22

If I understand correctly you have one set of features with point geometry that have duplicate values for the address field. Is the geometry identical? If not, how do you determine which point has the correct value, or is it irrelevant.

If the geometry is identical or irrelevant, I would use a DuplicateFilter with the Key Attributes set to FULL_ADD.

 

 

In the featureMerger, send your Owners to the Requestor and the Addresses to the Supplier, set the Feature Merge Type to Geometry, and Process Duplicate Suppliers to No.

 

 

If the geometry is not identical I would set the FeatureMerge Type to Geometry, Process Duplicate Suppliers to Yes, Geometry Merge Type to Create Aggregates, and generate a List.

This will give you a single feature per original owner, with an aggregate geometry of all the points corresponding to that address, and a corresponding list of attributes from the points. You can then manipulate the aggregate to extract the "correct" point depending on whatever logic rules you have for determining which point to use.

Badge

this seems to work for me ! thanks!

Badge

I used the second method you mentioned there because the geometry is not identical. Cheers!

Userlevel 2
Badge +17

Hi @francism, if I understand correctly, a single address could have multiple points (geographic locations), but has only a single ownership. In other words, an ownership information can be related to one or more point(s) using address as key. If so, send the point features to the Requestor port, send the ownership features to the Supplier port, then merge ownership information to point using address as join key.

Reply