Hi,
After evaluating which common value to use (line ID = measure ID?) you can use the FeatureMerger to add the measure values to the vertices.
Hi
ArcGIS wants measure values (also called M-values) per vertex, not per segment, so you need to attribute your Geomedia attributes to the start and end vertex of each segment, then interpolate the measure value for each vertex in between.
Fortunately this should be rather easy with FME, using two MeasureSetters to set the start and end M-value, then a MeasureInterpolator (
https://store.safe.com/transformers/measureinterpolator) to set the values in between.
In the end you can add e.g. a LineJoiner with a Group By on your route ID to join the segments up into polylines, if necessary.
You can now write your segments or routes to an ArcGIS feature class of type polyline with M-values.
David
Thanks David R! Works perfectly. You saved me many hours.
Adam
Hello team, can someone confirm this is still working for everyone? I have been trying to solve it with no success. I am running a Fiscal year end process and discovered the measure is not calculating the middle vertex for me.
@trevorm I couldn't reproduce your issue in FME 2021.2 - example attached. See if you can reproduce the issue in the attached example. Perhaps it is related to your version of FME.
You can 'Edit' the MeasureInterpolator and use feature caching to see where the transformer failing you. There is a little Python script in there that might not be performing as expected.
If you can't see where the problem is occurring in there, perhaps attach a small example of you data and the workspace.
Hello team, can someone confirm this is still working for everyone? I have been trying to solve it with no success. I am running a Fiscal year end process and discovered the measure is not calculating the middle vertex for me.
Hi @trevorm,
I was not able to reproduce the problem, but there are other ways to interpolate the measures within FME that were added after the MeasureInterpolater was created. The simplest is to clip the line by its own bounding box:
Be sure to set the Group Processing - Group By option in the Clipper to a unique attribute on the incoming features to ensure each feature interacts only with its own bounding box. If you do not have a unique attribute on the feature, you can create one with a Counter transformer.
Since the line fits completely within the bounding box, no clip will occur. The Clipper's measure handling routing will still interpolate the missing measures, however.
Ok @Markatsafe your work space works for me, so it must be my work space. I was also able to use the Clipper method from Daveatsafe.
I figured out how to edit the MeasureInterpolator transformer and will see if I can figure out why 1 year later without any changes it doesn't work.
Thanks for quick response.