<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="Generates a scenario from aggregated origin/destination data (DesireLines). The input describes an exact number of people, who live in one zone and work in another (possibly the same) and commute using some mode. For each of them, we just need to pick a specific home and workplace from the zones, and use the Options to pick departure times. We’ll wind up creating people who just take two trips daily: home -> work -> home."><metaname="keywords"content="rust, rustlang, rust-lang, disaggregate"><title>disaggregate in popdat::od - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="stylesheet"type="text/css"href="../../light.css"id="themeStyle"><scriptid="default-settings"></script><scriptsrc="../../storage.js"></script><scriptsrc="../../crates.js"></script><scriptdefersrc="../../main.js"></script>
<noscript><linkrel="stylesheet"href="../../noscript.css"></noscript><linkrel="alternate icon"type="image/png"href="../../favicon-16x16.png"><linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><linkrel="icon"type="image/svg+xml"href="../../favicon.svg"></head><bodyclass="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="sidebar-logo"href="../../popdat/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></div>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In popdat::od</a></h2><divid="sidebar-vars"data-name="disaggregate"data-ty="fn"data-relpath=""></div><scriptdefersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../popdat/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">popdat</a>::<wbr><ahref="index.html">od</a>::<wbr><aclass="fn"href="#">disaggregate</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/popdat/od.rs.html#71-186">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>pub fn disaggregate(<br> map: &<aclass="struct"href="../../map_model/struct.Map.html"title="struct map_model::Map">Map</a>, <br> zones: <aclass="struct"href="https://doc.rust-lang.org/1.60.0/std/collections/hash/map/struct.HashMap.html"title="struct std::collections::hash::map::HashMap">HashMap</a><<aclass="struct"href="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a>, <aclass="struct"href="../../geom/polygon/struct.Polygon.html"title="struct geom::polygon::Polygon">Polygon</a>>, <br> desire_lines: <aclass="struct"href="https://doc.rust-lang.org/1.60.0/alloc/vec/struct.Vec.html"title="struct alloc::vec::Vec">Vec</a><<aclass="struct"href="struct.DesireLine.html"title="struct popdat::od::DesireLine">DesireLine</a>>, <br> opts: <aclass="struct"href="struct.Options.html"title="struct popdat::od::Options">Options</a>, <br> rng: &mut <aclass="struct"href="https://docs.rs/rand_xorshift/0.3.0/rand_xorshift/struct.XorShiftRng.html"title="struct rand_xorshift::XorShiftRng">XorShiftRng</a>, <br> timer: &mut <aclass="struct"href="../../abstutil/time/struct.Timer.html"title="struct abstutil::time::Timer">Timer</a><'_><br>) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/alloc/vec/struct.Vec.html"title="struct alloc::vec::Vec">Vec</a><<aclass="struct"href="../../synthpop/scenario/struct.PersonSpec.html"title="struct synthpop::scenario::PersonSpec">PersonSpec</a>><spanclass="notable-traits"><spanclass="notable-traits-tooltip">ⓘ<spanclass="notable-traits-tooltiptext"><spanclass="docblock"><spanclass="notable">Notable traits for <aclass="struct"href="https://doc.rust-lang.org/1.60.0/alloc/vec/struct.Vec.html"title="struct alloc::vec::Vec">Vec</a><<aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.u8.html">u8</a>, A></span><codeclass="content"><spanclass="where fmt-newline">impl<A><aclass="trait"href="https://doc.rust-lang.org/1.60.0/std/io/trait.Write.html"title="trait std::io::Write">Write</a> for <aclass="struct"href="https://doc.rust-lang.org/1.60.0/alloc/vec/struct.Vec.html"title="struct alloc::vec::Vec">Vec</a><<aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.u8.html">u8</a>, A><spanclass="where fmt-newline">where<br> A: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/alloc/trait.Allocator.html"title="trait core::alloc::Allocator">Allocator</a>, </span></span></code></span></span></span></span></code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>Generates a scenario from aggregated origin/destination data (DesireLines). The input describes