Määrata igale teede sõlmele "rahvastikukoormus" — kui palju inimesi elab selle sõlme läheduses. See on liikumiste genereerimise (trip generation) aluseks.
bld = ox.features_from_polygon(boundary, {"building": True})
bld = bld[bld["addr:housenumber"].notna()] # ainult aadressiga = eluruumid
pipeline/building_population.pydists, idxs = node_tree.query(bld_xy, k=1) # iga hoone lähim sõlm
if dist <= 300: node_population[node] += persons
Iga hoone → lähim tee sõlm (max 300 m). Ei loeta hoonet mitu korda.
PERSONS_PER_BUILDING = 2.2 # Eesti keskmine leibkond
PERSONS_PER_APARTMENT = 12.0 # korterelamu
Kasutades teenindusala jaotust, summeeritakse iga väljapääsupunkti teenindusala rahvastik.
TRIPS_PER_PERSON = 2.0
daily_trips_to_exit = population_catchment * TRIPS_PER_PERSON
{prefix}_pop_node_population.csv — sõlme-taseme rahvastik (node, population){prefix}_catchment.csv — exit_node, population_catchment, nodes_served, ...{prefix}_pop_vulnerability.csv — rahvastikupõhine haavatavus{prefix}_critical_edges.csv — kriitilised lõigudWorldPop-i 100 m raster omistab rahvastiku lähimale sõlmele kuni 5 km kaugusel. Otepääl sai põllutee sõlm 281707587 (Otepää linna serv, Kanepi tee ristmik) 40.5 elanikku, kuigi teedegrupil OTE_0141 pole maju. Hoonepõhine hinnang annab sellele 0 elanikku — täpselt nagu tegelikkuses.