Skip to main content

Hi All, i have a linear pipe network. I have used the networktopology calculator to calc "network_graph_id" on all pipes, giving same id to all pipes on the same network graph. great!

I have one piece of pipe (per graph) that has an attribute i want on all the others of the same network_graph_id. (help!)

Anyone have any suggestions on how to do this. i have tried aggregate by network_graph_id then line on line overlay is very time consuming for my 400,000 records . Any better approaches ? thoughts ?

Thanks Steve

Am I correct in saying you don't need any spatial checks? You're just trying to get the attributes from one feature in a graph onto all other features in that same graph. If that's the case, the FeatureMerger would be a good pace to start I think. Just join on the network_graph_id (or group by it) and use the feature containing the attributes as a Supplier.

Performance could still be a bit of an issue with 400k features, but mostly it will be memory.


I think you were on the right track with the aggregator. Aggregate w/ group by _network_id, merge Incoming Attributes, and Generate List. Then Deaggregator, w/ List Attribute to Explode set to the list attribute you created in the Aggregate.

 

 

Your special attribute should now be transferred to all features. If you have multiple attributes that are not available on all features, and you only want to transfer the one attribute, then an AttributeRemover/Keeper/Manager can be used to keep only the list attribute and the special attribute prior to the Deaggregator.

Am I correct in saying you don't need any spatial checks? You're just trying to get the attributes from one feature in a graph onto all other features in that same graph. If that's the case, the FeatureMerger would be a good pace to start I think. Just join on the network_graph_id (or group by it) and use the feature containing the attributes as a Supplier.

Performance could still be a bit of an issue with 400k features, but mostly it will be memory.

Many Thanks Kim, I think this will be my best option. I had tried with the feature merger but had the setup wrong. Thanks again for your help

Steve


I think you were on the right track with the aggregator. Aggregate w/ group by _network_id, merge Incoming Attributes, and Generate List. Then Deaggregator, w/ List Attribute to Explode set to the list attribute you created in the Aggregate.

 

 

Your special attribute should now be transferred to all features. If you have multiple attributes that are not available on all features, and you only want to transfer the one attribute, then an AttributeRemover/Keeper/Manager can be used to keep only the list attribute and the special attribute prior to the Deaggregator.

thanks jdh, It was the explode part that i was missing from my Aggregate,Deaggregate process. cheers Steve


Reply