Hi Matt,
Since the NetworkCostCalculator accepts only one souce feature per a group (pair of source and network), you will have to copy the network (lines) for every source.
I think the following procedure would bring the required result.
Add unique ID attribute to the source features.
Merge all the source IDs to every network line unconditionally with the FeatureMerger.
Lines --> Requestor
Sources --> Supplier
Join On: 1 to 1 (set the same constant value for both Requestor and Supplier to perform unconditional merging)
Process Duplicate Suppliers: Yes
Check the "Generate List" checkbox and specify a list name.
Explode the Matched features (lines) by the list with the ListExploder (Accumulation Mode: Only Use Incoming List). This creates copys of every line for each source. Each resulting line will have a souce ID.
Send the resulting lines and source features to the NetworkCostCalculator (Output Optimal Cost As: Z-values), and set the source ID attribute to the Group By parameter.
After that, determine required z-value of each vertex of the lines.
Decompose the lines into individual vertices with the Chopper (Mode: By Vertex, Maximum Vertices: 1).
Extract their current z-values as new attribute with the ElevationExtractor.
Singulate the vertices being at the same coordinate, and save their z-values into a list attribute with the Matcher (Match Geometry: 2D, List Name on SingleMatched Output: _list).
For the singulated vertices from the SingleMatched port, extract minimum z-value from the list with the ListRangeExtractor and reset z-coordinate by the minimum value with the 3DForcer.
Then, send the vertices to the ConterGenerator.
Hope this helps.
Takashi
Thanks Takashi, your solution works perfectly!
Cheers,
Matt
isolinescreation2.fmwHi there @takashi Thank you for the wonderful help so far, I have tried to run the workspace as you have described but only seem to be getting the result for one of my source locations not all of them. I can't seem to see what I am doing wrong!