I original used a commercial product that took hours to process a few hundred line segment (no arcs were allowed). With my application I was able to process the largest TIGER street centerline file of 250,000 segments in an hour and a half.  The complete program added fillets and street names.

The source code to the centerline expansion logic. The original logic was over thirty thousand lines. I was able to reduce this to about 100 lines, the other lines in this application are for input, output and common line-line, line-arc and arc-arc intersection logic. 

I am converting the FORTRAN to JavaScript as Jane's FONT generation application. This code is the basis for: line / arc snapping, segment breaks, polygon build, fillets, network trace, and annotation along a line/arc.

Set of input lines and arcs

Expanded Lines

fillets and street names

Copyright 2019 Collins Software,
all rights are reserved