## 2 Proposed Method
### Road Intersection Extraction  
The intersection points of straight-line segments already reflect the spatial location of the road intersections well, but there is a large number of duplicate intersections; therefore, it is necessary to further cluster the intersections of the straight-line segments. We used a density peaking algorithm to cluster the intersection points and the final road intersection locations were identified by the center of each cluster.  
For density peak clustering, where the number of class clusters can be determined automatically, the key hyper-parameter is the cutoff distance used to calculate the local density of each sample. In this paper, the cutoff distance was determined to be 5e-4 based on the Euclidean distance distribution of the latitude and longitude between the intersection points of each straight-line segment. On the other hand, the cutoff distance set in this method is somewhat general, as it has a practical physical meaning, i.e., it represents the smallest possible distance between the two intersections, which is about 60 m.  
A Gaussian kernel function was used in the calculation of the local density for each sample. The standard deviation bandwidth of the Gaussian kernel was set to \(1.67\times 10^{-4}\), which is approximately one-third of the cutoff distance, based on the assumption of a normal distribution.  
When filtering the decision diagram, in some low-flow or poorly sampled road intersections, there will be few trajectory intersection points, i.e., very little local density and these road intersections will be missed. Therefore, in this paper, local density is not filtered. Global threshold filtering is used for the minimum distance only and the threshold is the cutoff distance. The overall clustering process is described as follows.  
In Algorithm 3, first calculate the distance matrix between each line intersection point. Second, calculate the local density of each intersection point based on the cutoff distance and a Gaussian kernel.  
```
Input: Line intersection points matrix \(P=\left[p_{1},p_{2},\ldots,p_{N}\right]\), where \(p_{i}=\left(x_{i},y_{i}\right)^{\text{T}}\). Cutoff distance threshold \(d_{\text{cutoff}}\). Gaussian kernel bandwidth \(\sigma\). Output: Road Intersection set \(C\)
1. Calculate distance matrix \[D=\left(1^{N\times 2}(P\odot P)+\left(1^{N\times 2}(P\odot P)\right)^{\text{T}}-2P ^{\text{T}}P\right)^{1/2}\]
2. Calculate local distance sequence \(\left[\rho_{1},\rho_{2},\ldots,\rho_{N}\right]\) \[\rho_{i}=\sum_{d\in D_{\text{near}}}\exp\left(-\frac{d^{2}}{2\sigma^{2}}\right)\] \[D_{\text{near}}=\left\{D_{ij}\middle|1\leq j\leq N\wedge j\
eq i\wedge D_{ij}<d_{ \text{cutoff}}\right\}\]
3. Sorted index \(\left[l_{1},l_{2},\ldots,l_{N}\right]\), having \(\forall_{1\leq u<v\leq N}\rightarrow\rho_{u}\leq\rho_{u}\).
4. Calculate MinDistance sequence \(\left[\delta_{1},\delta_{2},\ldots,\delta_{N}\right]\) \[\delta_{u}=\min\left(D_{u,j}\middle|j\in\left[l_{k+1},l_{k+2},\ldots,l_{N} \right]\right)\]
5. \(C=\left\{p_{i}\middle|\delta_{i}>d_{\text{cutoff}}\right\}\)
```  
**Algorithm 3** Line segment intersection points DPCA  
Then, calculate the index sequence which is sorted by local density. Our density peak clustering implementation proposes this sorted index; it avoids the problem caused by the same local density when calculating the minimum distance and improves the calculation efficiency.  
Furthermore, calculate the minimum distance from each intersection point to any other higher-density intersection point. Finally, select the sample with the minimum distance greater than the cutoff distance as the center of each road intersection.  
Since only the minimum distance needs to be filtered when determining the cluster centers, it is more concise compared to the traditional density peaking algorithm.