Can anyone suggest a resource which discusses different approaches to cleaning up linearly references events in order to minimize the occurrence of small dynamic segments?
I'm working with many overlapping events that in many cases should terminate at the same place, but in many cases don't. This results in very small dynamic segments. I want to reduce the occurrence of these by snapping events to other events, but only if each event isn't significantly modified. For example, an event could be extended by 10% but not 50%. The number of involved events is unknown, typically between 1 and 10, and I am not using spatially-aware software. (pure tabular processing)
I have an existing approach, but am interested in learning about other methods.
[EDIT: DESCRIBING EXISTING APPROACH AS REQUESTED]
The data depicts the locations of highway construction projects. They have been overlaid into a LRS data-structure where each project is an event, and some locations have multiple projects (overlapping projects). The problem is that many projects should terminate at the same location, but for various reasons they don't. I need to cleanup the data to minimize short segments, which implies adjusting the locations of projects slightly.
My current approach processes the segments in multiple passes. Each pass attempts to extend segments over top of a neighboring segment (replacing it) if doing so would not overly change the total length of the projects. Each pass is only permitted to "touch" a project once, and the process is looped until no more modifications are possible. One round of iterations is done which extends segments "forward" over the next segment, and a second round is done which extends them "backward" over the preceding segment. Every record is considered in each pass.
This is all done using a language called SAS, which has no spatial awareness. I could also work in Python. The reason I posted in a GIS forum is because of the linear-referenced data structure, which to most people implies GIS. I do ultimately pass the results into a GIS system.
[EDIT2: ask a specific question]
Specifically, I would like a more efficient way of doing this, ideally one which can prioritize certain projects over others. For example, I'm able to identify which projects have the most accurate termini, but my current solution isn't able to take advantage of that information.