03 Väljapääsupunktid ja teenindusalad.md 2.5 KB

Väljapääsupunktid ja teenindusalad

Eesmärk

Jagada kohalik võrgustik teenindusaladeks (service areas) ümber iga väljapääsupunkti: igale teede sõlmele leitakse lähim väljapääsupunkt (võrgustiku kauguse järgi).

Meetod

Multi-source Dijkstra

lengths, paths = nx.multi_source_dijkstra(ug_main, list(main_exits), weight="length")

Käivitatakse Dijkstra üheaegselt kõikidest väljapääsupunktidest (multi-source). Iga sõlm saab kauguse lähima väljapääsupunktini ja tee (path) sinnani.

Väljapääsupunkti omistamine

origin_exit = path[0]   # tee esimene sõlm = väljapääsupunkt
exit_of[node] = origin_exit

Iga sõlm kuulub selle väljapääsupunkti teenindusalasse, milleni tee kõige lühem on.

Teenindusala statistika

Iga väljapääsupunkti jaoks arvutatakse:

  • nodes_served — teenindatavate sõlmede arv
  • avg_distance_m — keskmine kaugus sõlmedest väljapääsupunktini
  • total_distance_m — kauguste summa

    service_df = pd.DataFrame(service_data).sort_values("nodes_served", ascending=False)
    

Haavatavusanalüüs (väljapääsupunkti eemaldamine)

Eraldi protseduur: eemaldatakse üks väljapääsupunkt korraga (top 30 suurima teenindusalaga) ja arvutatakse uuesti kaugused ülejäänud väljapääsupunktidest:

new_lengths, _ = nx.multi_source_dijkstra(ug_main, remaining_exits, weight="length")
detours = []   # suhe ja absoluutne suurenemine
ratio = new_dist / old_dist
increase = new_dist - old_dist

Tulemus: iga väljapääsupunkti "kriitilisus" — kui suur ümbersõit tekib selle sulgumisel.

Väljundi veerud

  • exit_node, nodes_served
  • mean_detour_ratio, max_detour_ratio
  • mean_detour_m, max_detour_m — keskmine/maksimaalne ümbersõidu pikkus meetrites
  • pct_severe_detour — % sõlmedest, kus ümbersõit > 2×

Betweenness (liikluse kaudne näitaja)

bc = nx.betweenness_centrality(full_ug, k=100, weight="length", seed=42)
edge_bc = nx.edge_betweenness_centrality(full_ug, k=100, weight="length", seed=42)

Betweenness mõõdab, kui palju lühemaid teid läbib antud sõlme/serva — kaudne liikluskoormuse näitaja.

Väljundid

  • service_df — teenindusalade statistika (sort nodes_served järgi)
  • vuln_df — haavatavuse tabel (sort mean_detour_m järgi)
  • Kaardipaneelid: teenindusalad värviliselt, haavatavuse graafik

Seos

  • Rahvastiku jaotus kasutab sama teenindusala jaotust: [[Liiklussageduse kaudne hindamine/02_Metoodika/04 Rahvastiku jaotamine]]