# 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 ```python 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 ```python 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 ```python 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: ```python 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) ```python 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]]