# Research on Automatic Generation of Park Road Network Based on Skeleton Algorithm
## 4 Road Network Generation Method
### Optimization of Road Network Coverage  
When designing the road network in a park, the road coverage rate is a crucial factor to consider. However, based on the principle of the skeleton algorithm, regardless of the proximity or distance between two internal polygons, only one primary skeleton branch will be generated. This characteristic presents challenges for a single road to meet the requirement of road network coverage rate when adjacent areas are excessively large (Figure 5a).  
To enhance the coverage of the road network, it is essential to initially pinpoint areas with inadequate coverage. As per the definition, the graph skeleton itself comprises a collection of maximum inscribed circle centers. Therefore, areas with insufficient coverage  
Figure 5: Skeleton diagram before and after coverage optimization. (**a**) Road network with insufficient coverage; (**b**) increased line segment; (**c**) road network after coverage optimization.  
can be promptly identified by comparing the radius r of the maximum inscribed circles with a predetermined value T. Here, value T denotes the maximum acceptable distance between adjacent spaces in the park interior and can be tailored based on actual site conditions. Upon identifying areas with insufficient coverage, new primary skeleton branches can be generated by inducing additional line segments into the skeleton algorithm (Figure 5b), thereby augmenting road density and enhancing road network coverage (Figure 5c). The specific research steps are outlined as follows:  
Step 1: Generate the skeleton based on the input vector data, and make the maximum internal tangent circle centered on the vertices at both ends of each skeleton branch, and obtain the radius r (Figure 6a).  
Step 2: Each segment of the end points of the skeleton branch generated by the two largest tangent circles, respectively, with a radius of r and T value comparison, according to the results of the comparison, contains three cases:  
1. Radius r is greater than the T value: such as Figure 6a in the skeleton branch O\({}_{1}\)O\({}_{2}\), where r\({}_{2}>\) T, r\({}_{3}>\) T;
2. One end is greater than the T value and one end is less than the T value: as in Figure 6a for O\({}_{1}\)O\({}_{2}\) and O\({}_{3}\)O\({}_{4}\), where r\({}_{1}<\) T \(<\) r\({}_{2}\), r\({}_{4}<\) T \(<\) r\({}_{3}\);
3. Radius r is less than the T value: as for O\({}_{4}\)O\({}_{5}\) in Figure 6a, where r\({}_{4}<\) T, r\({}_{5}<\) T. Step 3: Determine the area of insufficient coverage and add new line segments based on the comparison results of Step 2:  
1. Radii r are greater than T values: the area corresponding to the skeleton branch is under-covered, and the skeleton branch is added to the input vector data (O\({}_{2}\)O\({}_{3}\) in Figure 6b);
2. Only one end is greater than the value of T: the coverage of the area near that end is insufficient; make a circle with that end point as the center and T as the radius, intersect the skeleton branch at point T\({}^{\prime}\), and add OT\({}^{\prime}\) to the input data (T\({}^{\prime}\)\({}_{1}\)O\({}_{2}\) and O\({}_{3}\)T\({}^{\prime}\)\({}_{2}\) in Figure 6b);
3. Radii r are less than T values: the area corresponding to the skeleton branch meets the coverage requirement. Step 4: Re-execute the skeleton algorithm with the input data updated in step 3 to obtain a new road network.