Dustin Carlino
6a2c391b8b
Add a tool to convert maps from JSON back to binary, to enable experiments with modifying parking per buildings. Except... apparently we can't read back in JSON maps?!
2020-11-18 11:34:38 -08:00
Dustin Carlino
4ab98b1477
Compact the schedule in Scenario by just storing each TripEndpoint. #258
...
The schedule validation changes slightly. No-op trips between the same
origin/destination are now an error and get filtered out.
huge_seattle scenario goes from 129MB to 110MB with the redundant
endpoints removed.
2020-11-18 11:13:09 -08:00
Dustin Carlino
7741ea79b5
Refactor starting trips -- caller passes in TripInfo. Stop inferring
...
TripEndpoints from TripLegs. #258
NOW regenerate scenarios. I'm confident this sweeping refactor didn't
break behavior, because prebaked data didn't budge. huge_seattle
scenario went from 147MB to 129MB. Not bad!
2020-11-17 16:59:37 -08:00
Dustin Carlino
5ea3c2ba6f
Remove support for remote trips, and stop plumbing off-map locations. A
...
remote trip goes between two locations off-map, specified just by a GPS
coordinate. The trips aren't simulated at all. They were originally
added to support Orestis's pandemic model, to handle transmission
off-map in shared buildings. This work has died off, there are no other
anticipated use cases for remote trips, and they complicate bigger
refactorings. #258
This also has the nice side effect of substantially reducing scenario
size -- huge_seattle from 177MB to 147MB. That unused metadata was
expensive!
2020-11-17 10:14:23 -08:00
Dustin Carlino
b6be9c81d5
Generate city picker maps from a bunch of small maps, instead of one huge map. Use for Paris. One giant map covering everything there is going to be too large.
2020-11-13 18:22:46 -08:00
Dustin Carlino
d43bf2c869
Import Paris, for helping the OSM community visualize all the awesome pop-up bike lanes there
2020-11-13 17:23:36 -08:00
Dustin Carlino
6fe49ce0fa
Some preps for importing Paris: avoid crashing on some previously unseen
...
OSM things, and making geojson_to_osmosis handle multiple polygons in
one input file.
2020-11-13 16:31:22 -08:00
Dustin Carlino
4b557fa6de
Bring in fresh OSM for Seattle. Because it's so annoying to manually
...
repair proposals when roads change upstream, make the test dump a
repaired file before failing. Manually inspect/amend that.
2020-11-11 15:16:06 -08:00
Dustin Carlino
aa966d7533
Upgrade a bunch of dependencies
2020-11-11 12:02:53 -08:00
Dustin Carlino
07ac288e72
Refactor: rename Pt2D::from_gps to just gps.to_pt(bounds)
2020-11-10 12:00:43 -08:00
Dustin Carlino
104c987edd
Import Seattle collision data and convert to the common format. #87
2020-11-06 13:16:50 -08:00
Dustin Carlino
b0bdbf6c1f
Change some cities to just use JSON config for importing, instead of boilerplate-filled code. #326
2020-11-06 10:56:36 -08:00
Dustin Carlino
e0a8d82b61
Reorganize polygon files to importer/config, instead of data/input.
...
Nothing in data/input should be under version control; all of it is
managed by the updater. #326
2020-11-06 10:10:03 -08:00
Dustin Carlino
ad7a25f7f2
Prototype a simple data format for collision data. Import data for Leeds and London. #87
2020-11-05 16:16:40 -08:00
Dustin Carlino
ac6eff31ef
Rename some maps to remove the now-redundant city. #326
2020-11-05 15:24:02 -08:00
Dustin Carlino
cda586dfc9
Cleanup by moving some methods to belong to MapName. #326
2020-11-05 14:18:13 -08:00
Dustin Carlino
4f2cda8d53
Reorganize data/system/ files by city! The only interesting change is
...
abstutil::path_all_maps becoming abstutil::list_all_maps. #326
2020-11-05 14:05:48 -08:00
Dustin Carlino
67530bec07
Future-proof file organization by changing map_name from a string to a
...
struct. Whatever choices we make next about naming cities hierarchially
or not can be managed in just one place. #326
This is a pretty huge change, but the compiler gives reasonable
confidence it's correct. More bugs are likely to crop up in the next
step, when filenames start being namespaced by the city too.
2020-11-04 17:26:32 -08:00
Dustin Carlino
e99dd5bba7
Use inferred sidewalks for Leeds, after detecting another geometry bug
...
when building sidewalk corners. Raw sidewalks from OSM aren't suitable
for traffic simulation yet.
2020-11-04 08:46:06 -08:00
Dustin Carlino
21cd7a197d
Run the experimental cycleway snapper phase for Leeds, after adding a
...
check to skip ways like https://www.openstreetmap.org/way/429285996 ,
which're unexpectedly loops.
2020-11-03 15:57:21 -08:00
Robin
edf5d0d8a9
Add Leeds ( #375 )
2020-11-03 10:53:14 -08:00
Dustin Carlino
4cd18047bd
Fix the random_scenario tool by adding --scenario_name and saving a
...
binary scenario file
2020-11-02 12:01:37 -08:00
Dustin Carlino
b46c3d26eb
Don't infer sidewalks for the plethora of demo maps
2020-10-31 17:06:48 -07:00
Dustin Carlino
ca2ff08d71
Don't render intersections between footways with a special color. Also
...
cut Kraków over to using the new experimental footpath support. #161
2020-10-30 14:11:00 -07:00
Dustin Carlino
bf0dce2c18
Optionally import sidewalks and separate footpaths exactly as they're in OSM, instead of attempting any inference. This is a way to move forward on #161 without having to cutover to it all at once.
2020-10-30 13:27:45 -07:00
Dustin Carlino
3ed7e73aa8
Use a u64 RNG seed, not a u8
2020-10-29 09:25:07 -07:00
Dustin Carlino
fda4c4da7b
Refactor a few utilities, and use convex hull of the city boundaries to simplify them considerably. #326
2020-10-26 14:15:25 -07:00
Dustin Carlino
34b41a909e
Optionally keep building OSM tags. Display in info panels and the new viewer, when present.
...
Don't keep the tags by default. File size increase from the empty map is
negligible.
2020-10-24 14:19:22 -07:00
Dustin Carlino
f258c50595
Organize import blocks using https://github.com/dabreegster/organize_rust_imports
2020-10-05 20:29:22 -07:00
Dustin Carlino
27d94945c6
Manually move mod block after the use block, to match what CLion does.
2020-10-05 20:29:22 -07:00
Dustin Carlino
ac5aa927db
Test turn generation via goldenfiles instead. Revert the "import from a
...
raw string" stuff from the previous commit.
Add tests of a few interesting intersections. The results right now
aren't ideal, but this sets things up for fast iteraton.
2020-10-01 15:34:43 -07:00
Dustin Carlino
ec114e51e1
Prototype an idea for unit testing the turn generation code. Hardcode a
...
simple .osm, turn it into a full Map, and inspect the results.
2020-09-30 16:30:28 -07:00
Dustin Carlino
2c63a485cc
Undo some uses of impl trait. Originally added for performance in a big
...
refactor, they complicate the function signatures significantly and have
no observable perf impact, since all of the methods just happen in map
importing.
2020-09-29 15:53:08 -07:00
Dustin Carlino
597ef473f2
Upgrade most dependencies
2020-09-24 09:36:26 -07:00
Dustin Carlino
8faab3592a
Refactor RawMap saving
2020-09-22 15:49:02 -07:00
Michael Kirk
66220e0a57
persist raw map artifact during oneshot import
2020-09-22 15:31:40 -07:00
Dustin Carlino
4a07164394
Add the concept of trip purpose. Seed it from Soundcast data, or assign
...
it for the prolet robot model. Expose it in the trip info panel.
Total scenario size from 385MB to 412MB, but that's not so bad, and this
seems worth it.
2020-09-19 13:02:36 -07:00
Michael Kirk
08f330cfad
track worker capacity of commercial buildings
2020-09-16 16:43:11 -07:00
Dustin Carlino
edbc674970
Fix stop sign placement for left-handed maps. #311
2020-09-11 11:03:59 -07:00
Dustin Carlino
5be4c2ca84
Add an API to add a new trip in the middle of the simulation. Fixes #313
...
[rebuild]
2020-09-06 13:53:31 -07:00
Dustin Carlino
4367c03a7d
Add a tool to generate a random proletariat robot scenario given an RNG seed, for the forecasting group. #313
2020-09-04 11:10:38 -07:00
Dustin Carlino
65e07d9cc7
Read/write scenarios in JSON, so people can manipulate them in any language. #313
2020-09-04 10:57:52 -07:00
Dustin Carlino
4576e9c1d0
Start importing a tiny slice of London, to start working on left-hand driving again
2020-09-03 16:09:17 -07:00
Dustin Carlino
b13f5b0f4a
Move iotool things into the importer package, but keep separate binaries
2020-09-03 11:49:53 -07:00
Dustin Carlino
6a9d55b7f5
Since the first line of the osmosis file doesn't matter, more clearly rename it
2020-09-02 22:12:43 -07:00
Michael Kirk
6482f8b0a4
util to convert geojson to osmosis polygon ( #309 )
2020-09-02 15:29:25 -07:00
Dustin Carlino
651b4f5ec9
Some code style cleanups after #296
2020-08-27 09:10:39 -07:00
Kyle Huston
90cf38a522
Fail importer immediately if dependencies are missing and make gunzip etc. configurable ( #296 )
...
* Read ImporterConfiguration from .toml file if present. Also check for presence of dependency programs.
* Actually use config.osmconvert instead of hard-coded 'osmconvert'
* Add curl to checked dependencies
* Don't require all fields to be present in importer.toml configuration. Fill in defaults.
* Remove unneeded slice
* Use json for importer config and use serde(default) attribute to simplify application of defaults
* Extract re_dependencies_callable from main.rs and remove dependency on Job
* Revert change to abstutil, use struct-level default attribute
* Add importer.json to .gitignore
* Make gunzip_args string instead of Option<string>
2020-08-27 09:06:14 -07:00
Dustin Carlino
4e25a22cd0
actually, tel aviv has lots of street parking, so randomly assign 50% [rebuild]
2020-08-26 10:33:29 -07:00
Dustin Carlino
8b7ad86647
Regularly import Tel Aviv!
2020-08-26 10:25:45 -07:00