Skip to main content
Solved

attribute transfer in network graph


Forum|alt.badge.img

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

Best answer by kim

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.

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

4 replies

Forum|alt.badge.img+5
  • Best Answer
  • July 25, 2016

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.


jdh
Contributor
Forum|alt.badge.img+28
  • Contributor
  • July 25, 2016

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.

Forum|alt.badge.img
  • Author
  • July 25, 2016
kim wrote:

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


Forum|alt.badge.img
  • Author
  • July 25, 2016
jdh wrote:

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


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