Skip to main content
I am trying to ETL an LRS-enabled routes layer currently stored in a Geomedia database into a ESRI format that is consistent with typical LRS operations like dynamic segmentation.  The issue is that the fundamental data models that handle measure values within a calibrated route network are different in the two software packages.

 

 

In Geomedia, routes are segmented into a series of features (or rows), all of which share a common routeID, and all of which have (as exposed attributes) begin_measure and end_measure. Unlike in the ESRI world, the measure values are not stored in the vertices but in the attributes.  Question is... how do I use FME to efficiently move measure values from attributes of lines in Geomedia data into m values within vertices of lines in ArcGIS data?

 

 

Thanks in advance...

 

Adam
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.

image MeasureInterpulator not working


@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.

image MeasureInterpulator not working

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:

Screen Shot 2022-03-30 at 1.19.56 PMBe 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.

 

 


Reply