Skip to main content
Question

Dynamically Updating Multiple Connected Line Geometries Using Surveyed Points in FME

  • Oct 29, 2026 6:30 PM UTC
  • 1 reply
  • 23 views

fme_can_do_it
Enthusiast
Forum|alt.badge.img+13

Hi everyone,

I'm working on an FME automation to update existing telecom conduit geometries using surveyed locator points.

Current workflow:

  • Surveyed locator points are provided in a CSV file containing latitude, longitude, and Record Index.

  • I use VertexCreator and LineBuilder to create a surveyed line based on the Record Index.

  • Existing conduit geometries are retrieved from an API.

  • I'm using SpatialFilter and AnchoredSnapper to identify nearby conduits and adjust their geometry to follow the surveyed line.

The challenge:

The surveyed points may follow a single conduit or multiple connected conduits. The CSV does not contain conduit IDs, so the automation needs to determine which existing conduit geometries should be updated.

There may also be connecting conduits near the surveyed route. When the main conduit geometry is adjusted, the endpoints of connecting conduits need to move accordingly to maintain network connectivity.

For example, in one test case, two connected conduits need to follow the surveyed line, while a third connecting conduit should retain its original shape except for its shared endpoint.

Expected result:

  • Dynamically identify the conduit or conduits corresponding to the surveyed locator points.

  • Adjust their geometry to follow the surveyed line.

  • Preserve unaffected portions of existing geometries.

  • Update connecting conduit endpoints to maintain connectivity.

  • Support different conduit configurations without hardcoding IDs or requiring manual intervention.

I've been able to achieve the expected geometry for a specific test case using AnchoredSnapper and endpoint adjustments, but I'm struggling to make the conduit selection fully dynamic.

Has anyone implemented something similar in FME? I'd appreciate suggestions on transformers, network-based approaches, or workflows for matching a surveyed line to multiple connected existing line features. I’ve attached a screenshot of an example i am working. black points are locator data the green line i created a line using locator data. the lines along the points that needs to be snapped to the surveyed line.

Thanks in advance!

 

1 reply

fme_can_do_it
Enthusiast
Forum|alt.badge.img+13
  • Author
  • Enthusiast
  • Oct 29, 2026 8:50 PM UTC

I wanted to share an update on my workflow and the progress I've made.

I've modified the workflow and have been able to successfully adjust the conduit geometries using the surveyed locator points for my current test case.

Updated Workflow:

  1. Surveyed Line Creation: Used VertexCreator, Sorter, and LineBuilder to create a surveyed line from the CSV locator points based on Record Index, followed by reprojection.

  2. SpatialFilter: Identified existing Render conduits within a 10-meter buffer of the surveyed line.

  3. AnchoredSnapper: Connected the SpatialFilter Passed features as Candidates and the surveyed line as the Anchor, using segment snapping with a 12-meter tolerance.

  4. Junction Correction: Developed a dynamic process using CoordinateExtractor, StatisticsCalculator, FeatureMerger, and VertexCreator to identify shared endpoints and adjust connecting conduit geometry while preserving its original shape.

  5. Final Geometry: Used FeatureMerger to exclude the distorted snapped connector geometry and combined the correctly snapped conduits with the junction-corrected conduit geometry. A DuplicateFilter confirmed that the final output contains unique conduit records.

What I've Accomplished:

For my current test case involving three conduits, two conduits now follow the surveyed line correctly, and the third connecting conduit retains its shape with an adjusted junction endpoint.

Remaining Challenges:

  • Endpoint connectivity: Although the final geometries look correct visually, I found a small difference (approximately 0.35 meters) between two connecting endpoints. I'm working on ensuring the shared endpoints have identical coordinates.

  • Dynamic processing: I still need to validate that the workflow handles different configurations, including a single conduit, multiple connected conduits, and situations without shared junctions.

  • Final validation: Once the geometry and connectivity are verified, I need to test the API updates.

I'd appreciate any suggestions for improving the endpoint alignment and making this workflow reliable across different conduit configurations without hardcoding conduit IDs.

Thanks again!