Every time I run an import, 10 GCE workers download about 20GB of
data/input. The S3 outbound charges are uncomfortably high.
Instead, use GCP's S3->GCS transfer tool manually before each run, and
make the GCE VMs read from that instead.
I haven't tested these changes yet, but will soon with the next import.
times in the past, I've also tried doing this for other roads, but wound
up reverting for reasons only git remembers. But it seems like an
obvious win for bike paths; especially around Seattle, the ways are
split because of all of this raised curb data we're ignoring anyway.
Tested manually around Montlake.
Finally regenerating all data... Only Phinney breaks. One for tomorrow.
There are some caveats with the implementation commented inside.
Verified manually in Montlake -- down to just 122 cancelled turns!
Still not regenerating...
movements, make sure that a vehicle can access BOTH the source and
destination lane of a turn. #555
Without this fix, a turn from a bus lane to a driving lane is allowed
for cars at the pathfinding v2 level, but then it fails when converting
into v1 lanes.
(Next step: actually allow this for combination bus/turn lanes)
Not regenerating data yet
https://www.openstreetmap.org/changeset/105381427 mapping a turn lane is
the fix, preventing crazy U-turns using the service road. Not sure how I
missed that lane when looking here before. I made the edit to .osm
locally instead of grabbing fresh data for all of Seattle.
for people that leave one border, then re-enter a different one. #664
Alternative considered: insert a dummy remote trip between the two
borders. We used to do something like this at non-trivial code
complexity expense and having to explain the trip in the UI.
Regenerated all scenarios and prebaked data.
- Modest file size increase, as expected. Montlake scenario goes from
1.3MB to 1.5, downtown from 37MB to 43MB, all Seattle scenarios from
280MB to 327MB
- Eyeballed a few of the previously broken trips; they work now!
- Montlake goes from 3127 cancelled trips to just 302!
- No new gridlock, except in Rainier Valley -- disabling that for now
- I discovered missing validation in Poundbury for no-op trips between
the same building. I'll filter those out and restore prebaked results
there in a followup.
way, we have trip stats for people starting near the end of the day, and
we stop incorrectly showing failed trips when comparing.
Prebaked data: no change in size (245MB)
Montlake: 3135 "cancelled" trips -> 3127
Lakeslice: 6766 "cancelled" trips -> 6647
And fix an absolutely infurriatingly bad typo from the previous commit.
Now both the multiple_left_turn_lanes and divided_highway_split test
maps look great!
* Update dependencies
* Use github for polylabel, to make all dependencies use geo 0.18, not a mix of 0.18 and 0.17
* Downgrade lyon to avoid a crash
Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
edits to a road before entering the zone editor. Users can use edit
mode's undo if they made a mistake. It's more fluid than prompting.
Use the same auto-compress flow to allow switching to different roads,
without leaving the road editor
selector into debug mode. #597
Previously, it was used both to search/replace lane types and to
select roads, then dump them in various formats. Just preserve the
latter behavior.
- Disable the 'edit multiple' button if the current road hasn't been
changed yet
- Start with no other roads selected
- Add a "select all" and "select none" button
- Show the count of segments in the panel
- fix self-destruct command
- ship a GDAL-enabled importer and rebuild everything for Seattle, like
the normal local process
I'm pretty sure the full process should succeed now. Next step is
figuring out a process for finalizing the changed output files in S3.
- Amp up number of workers (about 100 cities, so 10/worker now)
- Use an SSD, since especially the setup and upload steps are extremely
IO bound
- Split the script into pieces that can be easily disabled to iterate
faster
- Use the bulk API to create instances
- Make the overall start_batch_import.sh a bit quieter
- Make successful VMs self-destruct so it's easier to track which're
done
- Setup Docker on the VMs, so elevation data works