02 Teedevõrgustiku moodustamine.md 3.2 KB

Teedevõrgustiku moodustamine

Eesmärk

Moodustada kohalikest teedest funktsionaalne võrgustik, mille piirideks on riigimaanteed.

Sammud

1. Piirkonna piiri laadimine

boundary = ox.geocode_to_gdf(PLACE)   # "Valga vald, Estonia"

OSMnx geokodeerib valla nime ja laeb halduspiiri (EPSG:4326).

2. Teedevõrgustiku laadimine

G = ox.graph_from_polygon(boundary.geometry.iloc[0], custom_filter=CUSTOM_FILTER, simplify=False)
G_proj = ox.project_graph(G, to_crs=CRS)   # EPSG:3301

Filtri loogika: võetakse kõik highway teed, välja arvatud jalgratta-/jalgteed jne (CUSTOM_FILTER). Oluline: lisatakse ka service ja track, mis on maapiirkondades olulised kohalikud teed (OSMnx vaikimisi drive filter jätaks need välja).

simplify=False (2026-08): OSMnx vaikimisi simplify=True liidab degree-2 vahesõlmed (sõlmed, kus tee lihtsalt jätkub ilma harudeta) üheks servaks. See kaotab lõikude jaotuse: nt tee 13645879022–13645879019 (100m, OSM-is 4 sõlme: 22→21→20→19) kuvatakse 1 lõiguna. simplify=False hoiab iga OSM-node eraldi sõlmena → lõigud jagunevad õigesti (18m+33m+49m). Vajalik is_deadend/is_exit märgete täpsuseks. Mõju: lõikude arv kasvab ~6-7× (Valga 6779→42090).

3. Teede klassifitseerimine

Iga serva highway tag alusel:

Klass Tagid Roll
Riigiteed (major_edges) trunk, primary, secondary, tertiary (+_link) Piirid/väljapääsud, kiire ühendus
Kohalikud teed (local_edges) residential, unclassified, service, track, living_street Teenindusvõrgustik
Muud ülejäänud Filtreeritud välja

4. Väljapääsupunktid

exit_nodes = local_nodes.intersection(major_nodes)

Sõlmed, mis kuuluvad mõlemasse klassi — kohaliku tee ja riigitee liitumispunktid. Need on kohaliku võrgustiku "uksed" riigimaanteele.

5. Suurim ühendatud komponent

local_ug = local_G.to_undirected()
components = list(nx.connected_components(local_ug))
largest_cc = max(components, key=len)

Kohalikest teedest moodustub palju eraldiseisvaid komponente (teed, mis ei ühendu teistega). Analüüs keskendub suurimale komponendile, kuhu jäävad enamik väljapääsupunkte.

6. Kaalutud graaf

local_main — suurima komponendi alusgraaf serva kaaluga length (meetrites), geomeetriaga (LineString).

Väljundid

  • local_edges, major_edges — klassifitseeritud servad
  • exit_nodes / main_exits — väljapääsupunktid (kogu / põhikomponendis)
  • local_main — kaalutud kohaliku võrgustiku graaf
  • service_df — teenindusalade statistika (vt [[Liiklussageduse kaudne hindamine/02_Metoodika/03 Väljapääsupunktid ja teenindusalad]])

Märkused

  • Võrgustiku suurus varieerub valliti (Valga: ~21k sõlme / 42k lõiku, Otepää: ~26k/53k, Võru: ~56k/110k — simplify=False-ga)
  • Gravity optimeerimine (2026-08): exit_distances arvutatakse ainult põhikomponendi väljapääsude (~21-71) vahel, mitte kõigi ~2000 exit-i vahel — sest gravity jaotus kehtib ainult põhikomponendis. Kiirendus 40+ min → ~1 min.
  • Eraldi komponentide arv on suur — need on teed, mis ei ole ühendatud peamise võrgustikuga