Hey FME team,
My coworkers and I are trying to figure out a tough polyline overlay issue. We are building a routable transport network for a city. We received 2 polyline datasets for the city’s road network. One dataset (Roadmap) contains geometry that we are licensed to modify the geometry for (as the original data were poorly connected and incomplete), and the second dataset (Carriageway) contains geometry that we are not able to use for the transport network but can use attributes for. Attributes include the number of lanes, whether the centrelines is in a urban or rural location, and the start and end measures for the carriageway feature. The link between the two polyline layers is a field called road_id, which forms a many:many relationship between the map layer and the carriageway. An example is shown below (3 Roadmap features, 5 Carriageway features):
Our issue is there is a slight offset between the modified Roadmap geometry and the Carriageway Geometry, so there is not a perfect overlay of the two layers in most cases:
The desired outcome is the 3 Roadmap geometry features, and a related table for the lanes attributes and urban rural attributes split according to the geometry of the Roadmap geometry features to account for the modified geometry e.g.
Essentially, the 3 Roadmap records have been split according to where the Carriageway features end. These endpoints lie at variable distances along the Roadmap records which is why you get 1m long segments of Rural in the Desired table. Note that the modified Roadmap geometries mean that they extend beyond the length of the Carriageway records.
We’ve tried:
- Converting the Carriageway lines into vertices (“CoordinateExtractor”, start and end & “VertexCreator”)
- “Snapper” on the vertices so that any misalignment between starts and ends are corrected
- “AnchoredSnapper” to the RoadMap layer
- PointOnLineOverlay to break the Roadmap wherever the vertices overly the Roadmap.
We can’t replicate the desired table so far though. We are also trying to replicate this for the entire city (not just one road). Thanks for your help in advance. We’re using FME 2022.2.1