Commit Graph

113 Commits

Author SHA1 Message Date
Dustin Carlino
0357ae0a23 Tidy up the new UK census gen code. #556 2021-03-05 16:51:02 -08:00
Dustin Carlino
8ffd249558 Get the new UK scenario generation working everywhere. #556
If a study area exists for the map, make a copy of the base/active
scenarios with the background traffic mixed in. Also remove people
living in the site, since they're redundant.

Ran it like this: for city in `ls data/system/gb/`; do ./import.sh
--scenario --city=gb/$city || break; done
2021-03-05 16:26:29 -08:00
Dustin Carlino
14ccddf15e Create people that live or work (or both) off-map. #556 2021-03-05 15:50:56 -08:00
Dustin Carlino
9610b69de4 Remove zones without homes or shops. Found one in London. This can
happen when the overlap with the map is tiny. #556
2021-03-05 14:53:29 -08:00
Dustin Carlino
d2b25f9340 Use choose_weighted to sample homes/workplaces proportionally, instead of worrying about how many employees per store there might be. #556 2021-03-05 12:33:04 -08:00
Dustin Carlino
89f317c79d Add in normal distributions for trip departure times. #556 2021-03-05 12:24:17 -08:00
Dustin Carlino
c7042eda06 Create simple people for UK scenarios. #556
Can't quite debug yet, because for Poundbury, the matching zones (like
E02004277) have no entries in the census data...
2021-03-05 11:59:20 -08:00
Dustin Carlino
1f33916502 Match houses/workplaces to zones. #556 2021-03-05 11:27:25 -08:00
Dustin Carlino
aa59677ad2 Transform the UK OD and zone data from raw input into a clean structure. #556 2021-03-05 10:47:48 -08:00
Michael Kirk
4b665c871d
update geo related deps. (#508)
geo-types to 0.7
geo to 0.17 which removes redundant old geo used by polylabel
geojson to 0.22
2021-02-08 16:34:56 -08:00
Michael Kirk
7cd4329866
fix census driven activity model (#507)
It was failing because the version of flatgeobuf we were using was not
compatible with the recent tokio update. Now we point to the unreleased
flatgeobuf which is compatible.
2021-02-08 14:15:58 -08:00
Dustin Carlino
73e405e382 Upgrade most dependencies 2021-02-03 18:13:06 -08:00
Dustin Carlino
d49c6c5d7d Refactor the logic of distributing N people to K buildings. This was
duplicated between the Berlin importer and the new census-based popdat
crate, and I suspect some form of it might get used for the actdev
integration. #424
2021-01-13 11:18:51 -08:00
Dustin Carlino
e99def9124 Switch all error handling to anyhow. Nothing consumes our code as a
library yet, so this is a step forward from string errors. Manually
tested how errors show up (including the nice with_context bit).
2021-01-05 11:35:03 -08:00
Dustin Carlino
d529ae2e5c Upgrade usvg and rand 2021-01-04 09:19:54 -08:00
Dustin Carlino
965d999199 Upgrade misc other dependencies 2021-01-03 20:01:27 -08:00
Dustin Carlino
2945913fb3 Upgrade rand 2021-01-03 19:48:03 -08:00
Michael Kirk
147c36d8fe
remove broken popdat main (#441)
I broke this in acadad8bd

We could fix this by making main async and fetching CensusAreas and
passing them into the generate function... but it doesn't seem like
we're using this any longer anyway.
2021-01-01 21:37:45 -08:00
Michael Kirk
acadad8bdf
fetch US census data from a hosted FlatGeoBuf (#432) 2020-12-31 16:20:32 -08:00
Dustin Carlino
32a3159d19 Express AmenityType as a proper enum. 2020-12-28 12:18:29 -08:00
Dustin Carlino
2b4b92664e Much needed refactor: map.pathfind() returns a Result, stating the failed request. Many call sites were cloning the request and doing this anyway. 2020-12-16 10:06:12 -08:00
Michael Kirk
375e0caeb8
integrate census scenario (#426)
#424
2020-12-14 20:27:57 -08:00
Michael Kirk
8b9b3ce2b1
census areas import (#425)
#424
2020-12-14 17:48:47 -08:00
Michael Kirk
5c09e24225
Correlate some more activities with OSM tags. (#423)
Thanks to Tom Skinner (@trskinner) for the patch!
2020-12-10 21:55:56 -08:00
Dustin Carlino
634b6ad375
Get more pieces of popdat working: (#421)
- adapt the Berlin logic for disaggregating people to buildings
- start some person -> activity -> schedule mappings
- clean up all the unused var warnings
2020-12-10 16:44:42 -08:00
Dustin Carlino
fb9635e8c8
Copy some pieces of the proletariat robot model into the new popdat pipeline: (#419)
- mode choice
- going off-map when there's no building on-map to satisfy a particular
  activity
2020-12-10 14:51:36 -08:00
Dustin Carlino
7e376de03f Start transforming an abstract schedule into a specific list of trips 2020-12-10 12:28:12 -08:00
Michael Kirk
d445ca386a
fix typo (#418) 2020-12-10 09:41:14 -08:00
Dustin Carlino
77a37f897b Wire together a UI to generate census-based scenarios 2020-12-10 09:35:50 -08:00
Dustin Carlino
f23dacbde7 Start some skeleton code for tomorrow's hackathon 2020-12-09 22:11:05 -08:00
Dustin Carlino
8be319300b fold the popdat crate into importer; nothing else should have any dependencies on it 2020-04-25 13:14:48 -07:00
Dustin Carlino
dd1c9f936d plumb through exact off-map locations from popdat->scenario 2020-04-24 22:05:33 -07:00
Dustin Carlino
a25751ea43 add more sanity checks for schedules, because every other map is
crashing

and fix the problem -- SpawnTrip -> TripSpec MUST succeed. auto-abort
some trips, to still warp the person to the right spot.
2020-04-23 13:20:25 -07:00
Dustin Carlino
6ef3a180a3 start to simplify the dynamic nabbing of parked cars 2020-04-22 14:39:02 -07:00
Dustin Carlino
2a98f4ea27 Person now has a fixed pedestrian, car, and bike ID. <start massive breakage> 2020-04-22 09:43:03 -07:00
Dustin Carlino
a39d19f36a remove the tiny fraction of people with non-continuous schedules from
the PSRC scenarios
2020-04-20 17:55:26 -07:00
Dustin Carlino
0574d4316c add some stuff to match people in scenarios with the raw input 2020-04-20 16:52:54 -07:00
Dustin Carlino
8b975f5083 validation was wrong, and also panicking is bad right now 2020-04-20 16:12:09 -07:00
Dustin Carlino
d80513235d defer choosing a starting lane for borders in scenarios, to respond to lane edits 2020-04-19 10:51:23 -07:00
Dustin Carlino
35c193eebc associated parked cars with people, not buildings
pt1: scenario layer
2020-04-15 15:01:49 -07:00
Dustin Carlino
70875d104d Scenario should just have specific trips. split a different structure for generating Scenarios. has the happy side effect of removing lots of weird old spawning code, duplicated checks 2020-04-01 13:50:36 -07:00
Dustin Carlino
bf8c35788b moving popdat+precompute into the new unified importer 2020-03-26 10:26:01 -07:00
Dustin Carlino
41ce8fe8f3 force trips per person to be time ordered 2020-03-18 14:01:03 -07:00
Dustin Carlino
0bcbac1fee upgrade a few misc packages 2020-03-17 10:35:37 -07:00
Dustin Carlino
fa013f70d4 woops, have to skip the gdal dependency in wasm 2020-03-15 14:20:05 -07:00
Dustin Carlino
41f37f666c switch popdat from cs2cs binary to gdal bindings. cleaner and will likely need gdal for elevation data anyway. also fix synthetic maps, which i accidentally broke few days ago with elevation 2020-03-15 12:34:23 -07:00
Dustin Carlino
87e9431f91 rearrange people/trips in the Scenario layer 2020-03-12 15:38:58 -07:00
Dustin Carlino
b835f8a6f7 unused deps 2020-03-06 08:27:00 -08:00
Dustin Carlino
bd2cb6ddd1 first steps towards representing people, not just trips 2020-03-05 17:28:57 -08:00
Dustin Carlino
f97918ff04 fixing the bug with grouping PSRC trips by unique person -- thanks to
folks at PSRC for helping track this down
2020-03-05 11:19:32 -08:00