I am trying to write a script that would detect overlaps and gaps in address range attributes on a line feature class for streets. An example would be one segment of "MAIN STREET" has a range of 100-190 on the left and 101 to 191 on the right, and then the segment for the next block would have 200-230, 201-231 (GAP Scenario) or 188-230, 189-231 (OVERLAP Scenario). I'm working with a province wide dataset with over 68,000 line segments, so any solution I come up with needs to work fairly efficiently. I am aware that there are tools in the Roads and Highways toolbox, but that is for ArcGIS 10.3 and greater and I am still stuck using 10.2.2 for a little while longer.
My first thought was to do some processing to buffer and spatial join the segments, and then dissolve to find the all segments belonging to the same named road, and link them together in order, OR to use the linear referencing tools but we have some unusual scenarios like a T-intersection where all directions are part of the same named street, or sections where there is only a range on one side and the other side has 0-0 and I can't seem to consistently get the ranges to order correctly. We also have roads where the range may be 1-99 on a segment, then there is a bridge with a 0-0 range and then the range resumes after the bridge at 101-151 for example.
I was wondering if anyone else had tried to solve the problem of detecting range gaps and overlaps and if they had, if they would be willing to provide the logical steps behind their code, or a code sample.
I'm not going to include code in my question, as I'm not sure my approach so far is the most efficient way to do it, and I'm ready to scrap what I've done and try something new.