Question

Joint Feature Class' Spatially

  • 8 October 2013
  • 8 replies
  • 1 view

Badge
Hello, I have multiple Point features that I would like to Merge as a new feature class. The join does not have to be based on any attribute, just a simple merge of all the features into one.

 

 

Which is why i'm thinking the FeatureMerger is not the correct transformer as one of the required paramaters is the Join On ? 

 

 

 


8 replies

Userlevel 2
Badge +17
Hi,

 

 

The Aggreagator transformer can be used to aggregate all the features into one feature.

 

 

Takashi
Userlevel 2
Badge +17
The Aggregator aggregates both of geometries and attributes. If you need to merge only attributes: 1) Aggregate attributes into a feature using the Aggregator or the AttributeAccumulator. 2) Merge the feature created above (having aggregated attributes) to one feature using the FeatureMerger (Feature Merge Type: Attributes Only).   In the current FeatureMerger (FME 2013 SP3), a constant value can be specified as "Join On" parameter to merge features unconditionally.
Badge +3
to link non related objects i usualy just create a (temporary) link attribute with a constant value then use featuremerger with this as the mergekey.

 

i.e. Atttrname= "linkall" and value = 1
Badge +11
Hi, 

 

 

you can also download the UnconditionalFeatureMerger from the FME store. I discovered it yesterday and it works pretty well.

 

 

 

best regards, 

 

Jelle

 

 

Badge
Thanks Takashi, none of the attributes from my features (from a GeoMedia SQL Database) seem to be attaching?  I use an AttributeKeeper and select specific attriubutes, then connect to the Aggregator using 

 

MODE: Assemble Hierarchy

 

 

When I run the process the total count of features shows the correct number but none of the attributes I specified on the AttributeKeeper copy over?

 

 

I'm not sure the Assemble Hierarchy paramerters are correct?

 

 

 

 

 

 

 

Userlevel 2
Badge +17
The Aggregator doesn't seem to keep / accumulate attributes of input features in "Assemble Hierarchy" mode.

 

Try "Assemble One Level" mode. You can control several options in the "Attribute Accumulation" group in this mode.   Gio, Jelle -- In the current FeatureMerger (Version 9, FME 2013 SP3), a constant can be also specified to "Join On" parameter. Just setting the same constans value (e.g. 1) to both of "Requestor" and "Supplier", it will merge features unconditionally :-)
Badge

Takashi, the "Assemble One Level" does not do the job because when you review your feature afterwards you can not select individual points, it is all just ONE... I need the points to be seperate entities.  Also the attributes are still not transfering over.

 

 

I have three files

 

points1 

 

points2 

 

points3

 

 

All three point files have their own attributes I would like to bring over to the Final dataset.

 

Example

 

Points1 has attributes -- att1,att2,att3

 

and

 

Points2 has attributes -- att5,att5,att6.

 

 

How do I join those three files, with all 6 of those attributes?

 

I'm not sure what to connect to the Requestor and what to connect to the supplier when using FeatureMerger.

 

and

 

Aggregator merges the files the way I want, but drops all the Attributes?

 

 

 
Userlevel 2
Badge +17
hmm... maybe I misunderstood your question. You want to collect attributes (saved in different files) associated with spatially same point geometry. That is, spatial query (or spatial search)?

 

If so, both the Aggregator and the FeatureMerger were wrong direction; the SpatialFilter or the SpatialRelator can be used to do that.

 

 

Example of the SpatialFilter usage:

 

1) Send point2 features (having attr4, attr5, attr6) to BASE port.

 

2) Send point1 features (having attr1, attr2, attr3) to CANDIDATE port.

 

3) Set the SpatialFilter parameters like this:

 

Tests to Preform: EQUALS

 

Merge Attributes: Yes

 

 

Then, every candidate point1 which spatially matched with a base point2 goes to PASSED port, and it will have attr4, attr5, attr6 attributes of the matched point2.

 

If there are point3 features (having attr7, attr8, attr9) , you can use another SpatialFilter to iterate similar process.

Reply