# Rahvastiku jaotamine (OSM-hooned) ## Eesmärk Määrata igale teede sõlmele "rahvastikukoormus" — kui palju inimesi elab selle sõlme läheduses. See on liikumiste genereerimise (trip generation) aluseks. ## Meetod (alates 2026-08: OSM-hooned) ### 1. Hoonete laadimine ```python bld = ox.features_from_polygon(boundary, {"building": True}) bld = bld[bld["addr:housenumber"].notna()] # ainult aadressiga = eluruumid ``` - **Aadressiga hooned** = tegelikud eluruumid. Hõreasustuses on palju suvilaid/abihooneid (greenhouse, shed, garage...) ilma aadressita — need välistatakse. - Skript: `pipeline/building_population.py` ### 2. Rahvastiku variandid Kuna üks lävi ei tööta kõigis piirkondades, arvutatakse **mitu varianti**: - **`population` (PEAMINE, kalibreeritud)** — OSM aadressiga hooned, skaleeritud **Rahvastikuregistri ametliku valla rahvaarvuga**: ``` skaala = ametlik_rahvaarv / valla_OSM-addr_hoonete_arv ``` Elanikud jaotatakse proportsionaalselt eluruumi aadressidele — valla kogusumma = ametlik arv. Valga 14 813, Otepää 6 225, Võru 10 310 (ametlikud). - **`population_ads` (ADS, võrdluseks)** — riikliku aadressiregistri (ADS) hooned, **deduplikeeritud unikaalse aadressi järgi**. Mitu hoonet samal aadressil (taluõu: elamu + kuur + ait) = **üks eluruum** (leibkond). Näitab, kus on maju, mida OSM-il pole (nt VAL_0193: OSM-addr 0, ADS 4.4 = 2 aadressi). - **`population_res` (kombineeritud)** — OSM aadressiga + ilma aadressita `building=yes` hooned 50–200m². - **`population_all` (laiapõhjaline)** — kõik OSM elamutüübid + `building=yes`. Tugevalt ülehinnatud. Iga hoone → **lähim tee sõlm** (max 300 m). Ei loeta hoonet mitu korda. ADS-i puhul loetakse **unikaalseid aadresse**, mitte hoonete arvu. ### 3. Elanike arv hoone kohta ```python PERSONS_PER_BUILDING = 2.2 # Eesti keskmine leibkond PERSONS_PER_APARTMENT = 12.0 # korterelamu ``` ### 4. Variantide ülekandmine väljapääsupunktidesse `gravity_exit_analysis.py` §9 arvutab gravity-jaotuse osakaalud (shares) **ühe korra** (ei sõltu rahvastiku suurusest) ja korrutab kõigi variantidega: - `gravity_population` / `gravity_trips` — OSM aadressiga (peamine) - `gravity_population_ads` / `gravity_trips_ads` — ADS (võrdluseks) - `gravity_population_res` / `gravity_trips_res` — kombineeritud - `gravity_population_all` / `gravity_trips_all` — laiapõhjaline ### 5. Trippide genereerimine (trip generation) ```python TRIPS_PER_PERSON = 2.0 daily_trips_to_exit = population_catchment * TRIPS_PER_PERSON ``` ## Väljundid - `{prefix}_pop_node_population.csv` — sõlme-taseme rahvastik (node, population, population_addr, population_all) - `{prefix}_gravity_exit_population.csv` — väljapääsupunkti taseme (addr + all) - `{prefix}_catchment.csv` — `exit_node, population_catchment, nodes_served, ...` - `{prefix}_pop_vulnerability.csv` — rahvastikupõhine haavatavus - `{prefix}_critical_edges.csv` — kriitilised lõigud ## Veebiatlas Popup näitab selget infot: - "Elanikke" — peamine (kalibreeritud Rahvastikuregistriga) - "Päeva sõidud" — trips (2× elanikud) - "ADS (aadressid)" — riiklik register, unikaalsed aadressid (võrdluseks) - "Detour" — haavatavus ## VAL_0193 näide (miks ADS-i võrrelda) Valga grupp VAL_0193 — kohalikud teeharud riigitee "Puurina" küljes. Sõlmede lähedal (≤200m) on `building=yes` hooned ilma aadressita: - `pop` (kalibreeritud) = 0 — OSM-i aadressikate puudulik, aadressid pole OSM-is - `pop_ads` (ADS, unikaalsed aadressid) = 4.4 elanikku (846244516 ja 846244647 juures, kokku ~4-5 aadressi) **Tähelepanek:** ADS-is oli nende punktide ümber 22 hoonet, aga ainult ~5 **unikaalset aadressi** — taluõues on elamu + mitu kõrvalhoonet samal aadressil. **Aadress on liikumiste aluseks, mitte hoonete arv.** ## Valla kogurahvastik (2026-08, kalibreeritud) | Vald | Peamine (kalibreeritud) | Ametlik (RR) | ADS (unikaalne aadress) | res | |------|------------------------|--------------|-------------------------|-----| | Valga | 14 813 | 14 813 | 13 031 | 23 716 | | Otepää | 6 225 | 6 225 | 9 910 | 15 309 | | Võru | 10 310 | 10 310 | 17 304 | 26 311 | **Põhimõte:** ametlik valla rahvaarv jaotatakse proportsionaalselt eluruumi aadressidele (`skaala = ametlik / OSM-addr hooned`). Nii on kogusumma täpne ja jaotus proportsionaalne aadressitihedusega. ## Uurimismärkused - **Rahvastikuregister** (Statistikaamet RV0291U) annab ametliku valla rahvaarvu 1.01 seisuga. Valga 14 813, Otepää 6 225, Tõrva 5 777 (2026), Võru 10 310 (2024) - **Leibkonnad (tulevikuplaan):** 1 majas võib elada 4 inimest = 1 leibkond; liikumine võib olla leibkonna-põhine (kogu pere sõidab linna tööle/kooli). Statistikaametil on leibkonnaandmed (REL2021 "Leibkonnad ja perekonnad") — uurida, kas saab ruutstatistikana - **Ruutstatistika (tulevikuplaan):** Statistikaameti rahvastiku ruutvõrk (1km/100m) võimaldaks veelgi täpsemat proportsionaalset jaotust — aga privaatsusläve tõttu ei ole detailne info alati avalik