Skip to main content

Greetings all!

I searched for similar questions but wasn’t able to find any pertaining to this, so apologies if I missed them.

 

I’m using the NeighborFinder transformer to locate points along measure-aware polylines to acquire the Measure value of all lines within 5 meters and merging all attributes and generating a list when multiple candidates are found. When there are multiple candidates, it’s assigning the Measure value of the point from one of the lines at random (possible the closest?). However, when I use the ListExploder transformer to create features from all elements in the list, while all other attributes appear to be specific per feature, the Measure values are the same for all features spawning from the same feature. Hopefully this make sense.

 

I assume I have a parameter set incorrectly or something, but how do I ensure each feature has the measure value specific to the line it was matched to?

Hi ​@jeff.butler The ListExploder isn’t sufficient because it “explodes” only the attributes but copies the geometry.  You’re right - only the measure from the a random candidate is on the geometry of the MatchedBase feature.  But you could add a VertexExtractor and a PointOnLineOverlayer to get every measure onto the new points, e.g.

Please file this suggestion at https://community.safe.com/ideas !


Alternatively, this workflow is also possible. Assuming that the line features have a unique ID attribute e.g. called “_line_id”.

 


Thank you ​@takashi & ​@DanAtSafe! I tested both suggestions for correct output as well as processing times and while they come up with the same result, ​@takashi’s suggestion was slightly faster using (about 2 min processing about 700k features). I really appreciate your help with this!