Skip to main content
Question

How to test a multiline feature for the number of disjoint line segments ?

  • March 29, 2018
  • 2 replies
  • 95 views

Forum|alt.badge.img

Hi all,

I have an oracle SDO geometry table containing multiline features.

These features should be contiguous collections of point-pairs. i.e. all endpoints should touch another point-pair from the same feature. the features can form a string of point pairs ('~'), but also a 'Y' type of topology, or something more complex. However, the feature should not consist of sub-parts that are not connected to each other (e.g. '~ ~' ).

How can I test for this requirement to be met ?

I think I should somehow be able to count what Oracle calls the parts of the multiline object, but it is not clear to me if I can call these oracle constructs from FME, or what FME equivalent to use.

Can you point me to some example or helpful bit of information for this type of tests in FME ?

Regards,

Ronald

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.

2 replies

gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • 2252 replies
  • March 29, 2018

You want to filter lines (2 vertices) form a multiline feature?

If you want to do that using fme you can simply deagregate them, count vertices where they number 2.

Geometrypartextractor with a test clause should also be possible afaik.


takashi
Celebrity
  • 7843 replies
  • March 30, 2018

Hi @raalst, the NetworkTopologyCalculator adds ID which is unique for each connected network to the input line features. If I understand the requirement correctly, this might help you.

  1. Counter: Add sequential number attribute (e.g. "_temp_id") to the original features as temporary ID.
  2. Deaggregator: Decompose the original features into individual single lines.
  3. NetworkTopologyCalculator (Group By: _temp_id): Adds network ID attribute (e.g. "_network_id") to the line features.
  4. DuplicateFilter (Key Attributes: _temp_id, _network_id): Filter out duplicates on "_temp_id" and "_network".
  5. StatisticsCalculator (Group By: _temp_id, Attributes to Analyze: _network_id, Total Count Attribute: _count): If the value of "_count" in a resulting feature from the Summary port is two or more, the lines corresponding to the same "_temp_id" (i.e. an original feature) are not connected.