Skip to main content
Question

Calculate measures on a specific point on a line

  • August 3, 2016
  • 6 replies
  • 376 views

Forum|alt.badge.img

Dear FME community,

I have a line and a point dataset. The lines have measures, generated with the MeasureGenerator. Is there a way to extract these measures on a specific point? The points are in the other dataset.

For example: The blue line has the measures (1 per coordinate). The red point is another dataset which intersects the blue line. How can I access the measure at the location of the red point?

I can access the measures at the beginning of the line with the following settings (and save these in the attribute Netz_VST), but how can I tell him to use the point dataset?

Many thanks and best wishes

Thomas

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

6 replies

takashi
Celebrity
  • August 3, 2016

Hi @thomask, the PointOnLineOverlayer will give measure to the input point based on the line measure (FME 2015.1+). You can then extract the measure from the output point using the MeasureExtractor (Type: Point).


Forum|alt.badge.img
  • Author
  • August 3, 2016

Unfortunately, he does not show the measures:

The attribute _point_measure is empty:

Here the properties of the MeasureExtractor:

I'm using FME 2015.1.0.3 Build 15485 (32bit).


takashi
Celebrity
  • August 3, 2016

Unfortunately, he does not show the measures:

The attribute _point_measure is empty:

Here the properties of the MeasureExtractor:

I'm using FME 2015.1.0.3 Build 15485 (32bit).

generally the PointOnLineOverlayer cannot overlay point on line with 0 tolerance, because there is unavoidable computational error. Try setting very slight amount as the tolerance. e.g. 1e-8 or so.


Forum|alt.badge.img
  • Author
  • August 3, 2016

generally the PointOnLineOverlayer cannot overlay point on line with 0 tolerance, because there is unavoidable computational error. Try setting very slight amount as the tolerance. e.g. 1e-8 or so.

Thank you very much! It works perfectly :)


Forum|alt.badge.img
  • Author
  • August 3, 2016

@takashi: One other question: at some entries (2 of 100) it shows the value -1.#IND for _point_measure. Do you have an idea what the cause could be?


Forum|alt.badge.img
  • Author
  • August 3, 2016

@takashi: One other question: at some entries (2 of 100) it shows the value -1.#IND for _point_measure. Do you have an idea what the cause could be?

I found out that it had something to do with the line geometries. 2 of them weren't valid according to the GeometryValidator. Now it seems to work.