| input: 3D array of traffic density per street, per hour, per day |
| output: pattern-dependant cluster classification |
| BEGIN |
| for each street in All_streets do |
| if (peak_traffic_intensity in < 690 veh/h) then |
| remove street from All_streets |
|
| for each Week_day in WEEK_DAY do |
| average_Week_day = get_average_pattern(Week_day) |
| clusters = FindClusters(Week_day, average_Week_day) |
| mean_clusters = get_average(clusters[Week_day]) |
| median_clusters = get_median(clusters[Week_day]) |
| if (clusters[average_Week_day] == round(mean_clusters)) then |
| num_clusters[week_day] = clusters[average_Week_day] |
| else |
| num_clusters[week_day] = round(get_average(mean_clusters, |
| median_clusters, clusters[average_Week_day])) |
|
| for all week_day pairs (, ) |
| where num_clusters[] == num_clusters[] do |
| if (Matching(cluster_elements(), cluster_elements()) > 90%) |
| then pattern[] = pattern[] |
|
| for all week_day pairs () with different pattern do |
| for all clusters in and in do |
| if (correlation(average_street(), average_street()) > 0.9) |
| then |
| pattern[] = pattern[] |
| |
|
| RETURN cluster pattern classification |
| END algorithm |