Commit Graph

626 Commits

Author SHA1 Message Date
Dustin Carlino
15af3846b1 Round driving costs for pathfinding more carefully. When we create
uber-turns (sequences of turns through a few intersections) due to OSM
turn restrictions, we have to be a little careful how we sum up the cost
for the entire sequence, only rounding at the end.
2020-09-18 15:39:35 -07:00
Michael Kirk
c0e2a611a0
introduce textures to rendering pipeline (#333) 2020-09-17 18:38:55 -07:00
Dustin Carlino
9f8dfdd699 Fresh OSM again, to pull in better data for cycleways 2020-09-16 17:38:45 -07:00
Dustin Carlino
10a074f84f Update map data for #332 2020-09-16 16:43:44 -07:00
Dustin Carlino
6e10f40801 Overhaul lane editor UI. #331 2020-09-16 12:32:11 -07:00
Dustin Carlino
da287ae68f Discard changes from traffic signal editor. #331 2020-09-16 11:50:57 -07:00
Dustin Carlino
3dcdb9ec02 Update OSM data (and fix the stage icon) 2020-09-16 10:29:51 -07:00
Dustin Carlino
7bd1d937f9 Some of Yuwen's cosmetic traffic signal editor changes 2020-09-15 09:32:46 -07:00
Dustin Carlino
ac3bc51af2 Restore the traffic signal stage indicator 2020-09-14 18:02:53 -07:00
Dustin Carlino
2895d50a1e
Add tooltips to the agent meters, and stop showing both buses and passengers. Fixes #239 (#323) 2020-09-11 11:08:26 -07:00
Dustin Carlino
edbc674970 Fix stop sign placement for left-handed maps. #311 2020-09-11 11:03:59 -07:00
Dustin Carlino
70d2d1115e Store polygon indices as u16, not u64. Maps from 743MB total down to
620MB!
2020-09-04 13:12:06 -07:00
Dustin Carlino
568a64df91 Don't store Rings for Polygons without any holes. Total map size from 751MB to 743MB 2020-09-04 12:18:53 -07:00
Dustin Carlino
38ba8d55f3 Produce proper lanes for left-hand driving by intervening at the LaneSpec layer for #311. Since London looks reasonable, opt it into the screenshot tests 2020-09-04 10:01:06 -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
86958f2e2f Upgrade the old lane-based edit commands when importing edit JSON, for #113 and #224. When there are lane reversals and lane type changes in the original edits, we still can't safely do the upgrade. But this handles most other cases, notably the 3 proposals. 2020-09-03 15:43:21 -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
d8d2877c14 Fix bike lane importing on Bell St. To prevent this from gridlocking
lakeslice (which is still quite sensitive to tiny changes in demand
data), manually retime a signal.
2020-08-27 20:51:49 -07:00
Dustin Carlino
59b14426bb Improve shared left turn lane markings and reorg some docs 2020-08-26 12:35:29 -07:00
Dustin Carlino
a5430f04ce Er, forgot to upload the regenerated maps 2020-08-26 10:44:38 -07:00
Dustin Carlino
8b7ad86647 Regularly import Tel Aviv! 2020-08-26 10:25:45 -07:00
Dustin Carlino
75933f686d At last, powered by the tight feedback loop of unit tests, bring in some
two-way cycletracks from OSM!
2020-08-25 16:35:17 -07:00
Dustin Carlino
112a29625f Prepare get_lane_specs_ltr to support two-way cycletracks from OSM...
and bring in fresh OSM, with some of the cycletracks tagged properly
2020-08-25 14:02:17 -07:00
Dustin Carlino
95c43f8e1c Finally replace the underlying storage in Road 2020-08-25 12:08:54 -07:00
Dustin Carlino
4005adecf8 Refactor: create a Direction enum, in preparation for two-way cycletracks on one side of a road. 2020-08-24 13:30:13 -07:00
Dustin Carlino
20d81cd453 Start bringing in cycletracks as bike lanes. Stop interpreting :left to
mean the backwards direction. Not handling two-way cycletracks yet.
2020-08-24 11:20:41 -07:00
Dustin Carlino
0ee6bcbfcb Fix intersection geometry in cases where two road edges intersect at
multiple points. This was already handled when the roads went between
the same intersections, but I found a case in Ballard where the roads
are just really close to each other. Screenshot diff empty in Krakow,
but still related to #243
2020-08-24 10:25:08 -07:00
Dustin Carlino
6b7747c37a Overhaul lane markings:
- Cut off the one-way markings before the end of the road, to stop stomping over turn markings
- Draw turn arrows to every road, not each lane
- Only draw turn arrows when a lane is restricted from going to some
  outbound lane. At most intersections, all turns are legal, so don't draw
  anything.

[rebuild]
2020-08-23 12:00:25 -07:00
Dustin Carlino
0fd40bd04e Explicitly mark buildings with private off-street parking from OSM. 2ebf463635 added parking icons to all buildings with > 10 spots, but this makes the downtown map look ridiculous. The intention was to show the tagged buildings, so just go do that. 2020-08-23 11:09:00 -07:00
Dustin Carlino
8aff945bbf Manually fix the Burke Gilman proposal, broken by OSM IDs changing upstream. Give up on restoring the superblock one; I can't find an old release where it's working properly. I drew it originally from a few different sources that I didn't write down. Now that CHAZ/CHOP happened, maybe it could be redrawn later to document what that was like. 2020-08-23 10:40:30 -07:00
Dustin Carlino
ca8af784c7 Add an explicit version number to the edits schema 2020-08-23 09:22:41 -07:00
Dustin Carlino
66151e8aa4 Dump route goldenfiles during the smoke-test, so that it's run when all
data is regenerated. (Ideally screenshots would also be automated, but
that's a little trickier.)

_NOW_ regenerate all data! The only diff anywhere is the binary map
format, so there's confidence the last few commits haven't changed
anything.
2020-08-22 10:53:05 -07:00
Dustin Carlino
11832aa606 Record throughput through a traffic signal by direction, expose through
the API (#245), and beef up the Python example.

Impact to prebaked file size is tiny -- for lakeslice, the original
intersection_thruput is 2MB and the new traffic_signal_thruput is 435KB.

[rebuild]
2020-08-22 09:13:16 -07:00
Dustin Carlino
5b2a548c93 When regenerating all map data, make sure proposals still work. Lo and
behold, I've broken two of them by updating OSM!
2020-08-21 15:49:28 -07:00
Dustin Carlino
2783c3e180 Expose the granular delays through an API for reinforcement learning (#245). 2020-08-20 16:21:52 -07:00
Dustin Carlino
14c66c5528 A humble start to a Percent type for #274. There are so many places to
use it; just start a few in ezgui. Also a good time to object to the API
so far.
2020-08-20 11:01:59 -07:00
Dustin Carlino
2c5bbd3e7e Use alternate language building names and amenities, when available. Fixes #271.
Tested in Shinjuku. No substantial file size increase for any maps.
2020-08-20 10:39:28 -07:00
Dustin Carlino
24a8d4a836 Prepare to support capping the number of vehicles that can pass through
a zone per hour. This is part of support for some kind of congestion
charging experiments. This step just rearranges the data to define the
cap and makes a UI to edit it. Not enforcing the cap yet.
2020-08-19 17:46:40 -07:00
Dustin Carlino
2ebf463635 Handle buildings tagged as parking garages in OSM. 2020-08-19 17:19:54 -07:00
Dustin Carlino
d427893843 Model parking lots with extra un-renderable spots. This fixes #150, lots
without aisles, and #265, multi-story garages.
2020-08-19 17:19:54 -07:00
Dustin Carlino
2e93fdbf54 Fix parking aisle loops that cross the parking lot polygon. Closes #242 2020-08-18 15:12:12 -07:00
Dustin Carlino
2c0e77b1f5 Add a simplified Chinese font. Fixes #226 2020-08-17 20:30:07 -07:00
Dustin Carlino
9a350b7568 Regularly import Xi'an 2020-08-17 19:37:34 -07:00
Dustin Carlino
40ddd06194 Improving the on/off ramp geometry by preferring that the "thin" road is
one of the outbound roads. This was motivated by one particular example
in downtown, and per screenshot tests, doesn't have regressions
elsewhere. Also improves a few cases in montlake.
2020-08-17 17:31:21 -07:00
Dustin Carlino
c6a2ae8ded Fix community proposals -- the JSON format changed in
11cefb118a.

I attempted using the jq tool, but wound up with vim regex:

s#{$\n\s\+"osm_node_id": \(\d\+\)$\n\s\+}#\1#100000
2020-08-17 14:39:38 -07:00
Dustin Carlino
bef3434ac8 adjust the most egregious traffic signals downtown 2020-08-15 18:35:14 -07:00
Dustin Carlino
92d121ecd4 restore lakeslice to former glory, by allowing blocking-the-box at two intersections that're smushed together. had something like this a while ago, but I thought it became unnecessary when working on uber-turns a few weeks ago 2020-08-15 17:52:23 -07:00
Dustin Carlino
100d126d62 Also lazily render road center-lines. London from 42s down to 32s 2020-08-14 20:57:46 -07:00
Dustin Carlino
49ea9f2d54 Faster London:
- wire up the flag to skip building contraction hierarchies in one-shot
  importer. 406s to import london without, 230s by skipping CH
- lazily render zoomed parking lot details. 72s and laggy X11 mouse
  before, 42s and no GPU melting after
- add my script for stress-testing the importer
2020-08-14 20:50:22 -07:00
Dustin Carlino
25ee39af89 Prepare to flag-guard an experiment to handle uber-turns differently
when allowing a car to start a turn. It causes
https://github.com/dabreegster/abstreet/pull/276#discussion_r470269394
and also the lakeslice scenario to gridlock (a regression that began a
few weeks ago). But keep the flag on for now, to keep the montlake
scenaro running at least.

https://dabreegster.github.io/abstreet/trafficsim/gridlock.html has
notes about the many different causes and in-progress fixes for
gridlock. This experiment hasn't been explained very well yet, but
roughly it treats a cluster of traffic signals as one, so that once a
vehicle gains access through the first light, they guarantee immediate
access through the entire sequence. This interacts with the "don't block
the box" behavior (don't start a turn if you might get stuck in the
intersection) strangely.

While attempting to get this rollback to work, I also had to manually
redraw the traffic lights for a few manually specified intersections.
They became out-of-date a few weeks ago when I cleaned up the OSM
geometry upstream and the referenced IDs changed, and I hadn't bothered
to re-time the signals. Luckily, with the new multi-signal editor,
redrawing the timing was much easier than originally!

Regenerated all data and lots of bus routes vanished. Plan to get back
to that project soon.
2020-08-14 11:33:25 -07:00
Dustin Carlino
0749a2ac7b start keeping goldenfiles for bus routes, similar to the screenshot diff test. this will make it much easier to finish up bus matching without accidentally regressing somewhere 2020-08-10 16:03:04 -07:00
Dustin Carlino
43a6edbc28 regenerate everything, prep for release. [rebuild]
lakeslice still gridlocks and lots of bus routes cut out. not the
happiest release.
2020-08-08 21:33:11 -07:00
Dustin Carlino
d1e9e38e82 refactor for #231: use typed OSM IDs everywhere, dedupe URL code
have to regen, the binary format has changed
2020-08-08 16:09:36 -07:00
Dustin Carlino
128e649236 fix zordering of harbor island, broken in the osm reader refactor a few weeks back
fresh osm. breaks lakeslice, but I'll fix tomorrow. progress in
south/west seattle.
2020-08-06 18:11:09 -07:00
Dustin Carlino
5998afaea4 interpret some OSM turn restrictions as meaning no lane-changing on approach to turn lanes. deeply sanity-checked for monlake only, seems reasonable from spot checks elsewhere
closes #261 -- not sure it's worth actually handling changes:lanes yet,
but this fixes the original issue
2020-08-06 15:57:36 -07:00
Dustin Carlino
d2d9b7b092 finally fix the small border road geometry problem for krakow and west seattle 2020-08-06 11:23:00 -07:00
Dustin Carlino
a2bf0ee59f gather footways, service roads, and cyclepaths into kml side input files to start experimenting with snapping to roads. a small step towards #242, #169, #161, #139, etc 2020-08-05 15:19:52 -07:00
Dustin Carlino
3c24b7aa5a pull in spawn times for seattle from gtfs. looks wrong, but it's a
start.
2020-08-05 14:46:37 -07:00
Dustin Carlino
8f6a6d40e6 change the few places that copied an OSM ID to the clipboard to instead
open the browser. this is more useful, and it also lets us get rid of a
dependency on clipboard stuff, fixing #264
2020-08-05 11:24:51 -07:00
Dustin Carlino
9961b870b6 try to apply the new on/off ramp intersection geometry to all relevant
3-way intersections, for #131
2020-08-05 11:03:02 -07:00
Dustin Carlino
00e8b8a8c2 work around ballard map crashing from tiny border. i tried valiantly to
extend short borders, but it can't be done in convert_osm clip. has to
happen later when trimming and making intersection geometry. too much of
a headache right now.

west seattle and krakow still broken because of short borders.

also grab fresh osm
2020-08-04 15:25:49 -07:00
Dustin Carlino
75179f1400 fix uber turn viewer breakage. also discovered that we can't clip the
largest .osm while we update it without breaking water polygons
2020-08-04 10:30:07 -07:00
Dustin Carlino
bcbf229eb7 rip out all users of the old find_closest_lane for #176.
- this gives offside support to bus/sidewalk matching, getting 11 more
  routes working in krakow
2020-08-03 17:56:58 -07:00
Dustin Carlino
f73516d183 start representing bus spawn rates explicitly 2020-08-03 13:12:02 -07:00
Dustin Carlino
22afb60421 woops, parcels.bin wasnt deterministic. kept seeing a diff in data/MANIFEST. 2020-08-03 11:31:56 -07:00
Dustin Carlino
940d2265c0 spawning buses at 0.01m on a non-border lane can break, because other cars approach, and the buffer distance gets broken. instead, spawn the buses a few lanes away, if needed. fixes #260
now only ~400 agents left in lakeslice by end!
2020-08-03 11:08:21 -07:00
Dustin Carlino
b7ed2615b1 add a "smoke-test" to simulate 1 hr in all maps 2020-08-03 09:28:10 -07:00
Dustin Carlino
13402b7745 get xi'an to import. detect all geometry problems upfront. 2020-08-03 08:12:27 -07:00
Dustin Carlino
3cd28cb44f fix buses not starting at a border. they were skipping the first stop, that's why there were so many stranded agents in lakeslice. still some buses failing to spawn, causing some more stranded 2020-08-01 18:53:40 -07:00
Dustin Carlino
b4ad7400df stop drawing center lines for one-ways. while regenerating maps, also
bring in natural=scrub, and rename the krakow map
2020-07-31 20:48:26 -07:00
Dustin Carlino
2f76c7ac12 powered by a clear head and fresh blackberries, fix #64 2020-07-31 19:58:44 -07:00
Dustin Carlino
ae31739dea almost support off-side parking lanes. only remaining bug is cars
ignoring parking spots if the parking lane is in the opposite direction.
workaround is to reverse the lane. dealing with that bug next though.

part of #64 and #176. fixes #109
2020-07-31 16:23:58 -07:00
Dustin Carlino
d7968713fc don't need to explicitly store parking blackhole redirect, just a bit.
and have a separate bit for bikes. use that to handle bikes going to
borders. finally closes #221, progress on #176.
2020-07-31 15:43:15 -07:00
Dustin Carlino
d22aa87139 rearrange Building internals for #176. edits can affect building
connections to driving/biking. just store the immutable stuff -- whether
there's parking in the building, the connection to the sidewalk, and the
physical driveway line. compute all the rest dynamically, so it responds
to edits without effort.

shouldn't be major behavior changes yet (besides maybe fixing some bugs
involving edits)
2020-07-31 12:49:33 -07:00
Dustin Carlino
ec52adce77 dont infer parking on roads in krakow that dont allow pedestrians 2020-07-31 10:33:59 -07:00
Dustin Carlino
71b68cc639 don't assume off-side sidewalks on dual_carriageway=yes. don't infer
parking on tiny roads. fixes some geometry in krakow. #230

(unrelated: add a debug layer to show parking blackholes, to work on
bike connections)
(also unrelated: better error message for #256)
2020-07-31 10:07:29 -07:00
Dustin Carlino
03796fcd66 introduce the tiny walkable shoulder lane type. pathfinding penalty,
rendering adjustments. #176

the SharedSidewalkCorner geometry looks bad, but acceptable for now.
2020-07-30 13:42:36 -07:00
Dustin Carlino
b57f5081cf bit more, with pad. these hacks were put in before i understood you had
to wrap a widget in a container to make things like padding() work.
2020-07-29 18:51:28 -07:00
Dustin Carlino
de45fb5c07 better Checkbox::colored 2020-07-29 15:11:10 -07:00
Dustin Carlino
2b9123d261 fix border intersection geometry when the road is too short. closes #251
while regenerating, also pick up landuse=grass as a park area. noticed
missing in krakow.
2020-07-28 13:41:12 -07:00
Michael Kirk
5f9e94cfcc
use monospace font to avoid clock layout jitter (#250)
* use monospace font to avoid clock layout jitter

* conventional naming
2020-07-28 10:39:18 -07:00
Dustin Carlino
e1e265db14 tighten up Polygon constructors to enforce an outer ring... in most
cases now.
2020-07-27 14:03:55 -07:00
Dustin Carlino
6a11a13d36 fix the remainder?! of pathfinding bugs for #190. have to make sure the
candidate route has the stops in the correct order. now people correctly
ride a bus off-map!

regen everything now!
2020-07-27 12:36:46 -07:00
Dustin Carlino
e79e186784 ALMOST make people ride the bus off-map, for #190. the pathfinding
gymnastics isn't quite right. still want to commit this though, with it
disabled.

found a few bugs along the way...
2020-07-27 07:54:33 -07:00
Dustin Carlino
a1e1e51b10 obviate need for make_arrow_outline by just putting together a
reasonable make_arrow polygon in the first place
2020-07-26 20:25:38 -07:00
Dustin Carlino
2ec9c6620f get san jose to import [rebuild] 2020-07-26 15:58:14 -07:00
Dustin Carlino
90bb4ac020 change text checkboxes to instead use toggles 2020-07-26 12:06:43 -07:00
Dustin Carlino
fe41928cc8 explicitly allow osm highway types, instead of trying to deny stuff.
part of #231. handles construction much better.
2020-07-25 17:06:09 -07:00
Dustin Carlino
7a00839553 ditch osm-xml, make a new osm parser from scratch based on roxmltree.
skip unreferenced objects, make the output extremely easy to consume.
also fix timers in importer. this helps with #212, although the actual
problem there is weird.

regen everything. some parking lots change a bit, but not horribly, and
that code needs some attention anyway.
2020-07-25 13:52:41 -07:00
Dustin Carlino
fc761ae032 stop bringing in railway=rail for seattle. it's cosmetic only, and it messes up some geometry in south seattle and causes gridlock. not worth it yet. 2020-07-24 20:22:33 -07:00
Dustin Carlino
37630439d1 make the LC penalty understand when not all lanes go to the target road.
and bring in a few more osm fixes for marginal way. [rebuild]
2020-07-23 16:41:52 -07:00
Dustin Carlino
61b5441bd8 also apply some of the new lane choice penalties to CH pathfinding for #217. this is necessary, because we wont opportunistically LC around an uber turn. validated near montlake/520.
also bring in fresh osm with some south seattle fixes... [rebuild]
2020-07-23 14:42:20 -07:00
Dustin Carlino
adbbc8764a much smarter opportunistic lane-changing. almost got #217. but we don't
do opportunistic LCing when approaching an uber-turn, so we need to use
these costs when building the CH also...
2020-07-23 12:39:00 -07:00
Dustin Carlino
d278739f49 fix shameful bug introduced in f1ef02b907. regenerate all data, with fresh krakow osm 2020-07-23 11:51:19 -07:00
Dustin Carlino
38b8557c82 bring in living streets from OSM, interpreting them as normal roads with
access restrictions. makes old town in krakow look much better and
brings in stay healthy streets in seattle. also commit some code related
to footways that isn't exercised yet.
2020-07-21 17:18:56 -07:00
Dustin Carlino
94935f7ae8 radically simpler vehicle turn creation:
- just generate every combo of turns from incoming->outgoing
- stop doing all of the weird bike->bike restrictions. that gets handled
  anyway in later layers like pathfinding costs, opportunistic LCing,
  and picking valid starting lanes
- rely on OSM for filtering out left/right turns from multiple lanes
- why was it useful at all to distinguish Straight from LCing turns?
  scrap that

has the effect of eliminating a class of bugs where a driving lane is
sandwiched between lots of bus lanes and wasn't winding up with an
in/outbound turn
2020-07-21 13:04:34 -07:00
Dustin Carlino
435b4ce8fb track passengers boarding/alighting. further rearrange stop/bus/route
info panels
2020-07-21 08:55:07 -07:00
Dustin Carlino
35b761ec21 get sydney to import 2020-07-20 20:54:08 -07:00
Dustin Carlino
2279f2a873 filter out service roads and footways under construction. also grab
fresh osm. fixes #147
2020-07-20 15:55:27 -07:00
Dustin Carlino
db0b851659 use toggles instead of checkboxes in a few places 2020-07-20 15:02:05 -07:00
Michael Kirk
783f91ae0c
Commuter Patterns: to/from icon overlays current block (#214)
* Commuter Patterns: to/from icon overlays current block

Also, masks the current block

* Code Review: code structure, no behavior change
2020-07-20 14:40:09 -07:00
Dustin Carlino
2f2245e90f add service roads for buses. closes #203 [rebuild] 2020-07-19 15:29:13 -07:00
Dustin Carlino
68d3c5b340 intersection delay is broken down by agent type, not trip mode 2020-07-19 13:22:08 -07:00
Dustin Carlino
233b662bfa actually count transit passengers in throughput analytics 2020-07-19 13:10:24 -07:00
Dustin Carlino
db00c18536 use AgentType, not TripMode, in throughput 2020-07-17 16:39:16 -07:00
Dustin Carlino
c08fd4ae7e UsingBike trips always start at a building 2020-07-17 15:56:58 -07:00
Dustin Carlino
e06faa3c33 make an AgentType enum, stop abusing TripMode. a small first step,
showing agent meters properly
2020-07-17 15:13:36 -07:00
Dustin Carlino
aad5796e0b make sure polygon area is positive. the building classification was
multiplying negatives and winding up with quite a few people...
2020-07-16 21:15:44 -07:00
Dustin Carlino
1c39de50f7 use earcutr for polygon triangulation. this finally allows for
multipolygons with holes!
2020-07-16 15:33:01 -07:00
Dustin Carlino
ccf213ded9 fix pioneer square station snapping. rust-geo's FindClosest has a bug.
>_<
2020-07-16 13:22:05 -07:00
Dustin Carlino
1d89d4b85f tie population count to planning areas in berlin, for #119 [rebuild] 2020-07-16 11:34:46 -07:00
Dustin Carlino
e2d478340b bring in planning area KML for berlin, #119 2020-07-16 11:15:22 -07:00
Dustin Carlino
8a70e105e8 make buses actually start/end at borders [rebuild] 2020-07-16 10:11:43 -07:00
Dustin Carlino
f59ca734e2 also scrape stop->platform associations from stop_areas. fixes cap hill light rail stop finally for #190! the pioneer square south stop is seemingly still messed up 2020-07-15 22:17:45 -07:00
Dustin Carlino
7a1081971d pretty darn robust border matching: by path distance, not some VFD crow.
for #190
2020-07-15 19:04:24 -07:00
Dustin Carlino
891a1746d6 try to figure out border endpts for routes for #190. just visualize
them, dont enforce connectivity yet. so many problems...

regenerate stuff, to unbreak map binary format
2020-07-15 15:35:57 -07:00
Dustin Carlino
0ad14d17ac settle on american spelling of center 2020-07-15 11:37:37 -07:00
Dustin Carlino
ea9c523da4 detect buildings inside areas marked with amenities. picks up franklin high school, for example, which has a huge number of trips in soundcast but wasnt previously marked as an amenity 2020-07-15 10:35:01 -07:00
Dustin Carlino
969135d93b filter out structures inside the Holocaust-Mahnmal for #119; they're tagged as buildings 2020-07-15 09:51:57 -07:00
Dustin Carlino
4a118c8103 import berlin city centre for #119 2020-07-15 09:42:45 -07:00
Dustin Carlino
3f44a2c2af collapse signals with redundant phases, for #8. and fresh osm with a
flurry of fixes last night
2020-07-15 08:53:03 -07:00
Dustin Carlino
eeb70030c2 clean up old experiments from the intersection geometry code.
imperceptible changes to some (already broken) intersections.

also grab fresh osm and a new traffic signal
2020-07-14 17:41:56 -07:00
Dustin Carlino
e691545b63 accidentally uploaded a downtown map with who knows what temporary experiment 2020-07-14 14:51:50 -07:00
Dustin Carlino
7341c0189a plumb through which trips (and people) are affected by an experiment. no
UI exposure yet.
2020-07-14 14:49:04 -07:00
Dustin Carlino
33c5ffef4c first wave of character art from holly!!! 2020-07-13 21:09:36 -07:00
Dustin Carlino
b4b8556f46 just get a few new traffic signals and add parking to south seattle, to
try to make progress
2020-07-13 16:07:35 -07:00
Dustin Carlino
f76b40b8f7 remove old hacks that disabled different checks on certain intersections. new progress fixes the gridlock in a more general way 2020-07-13 15:33:32 -07:00
Dustin Carlino
46789847a7 offstreet parking blocks the road for less time. seeing unrealistic
gridlock near the huge parking lots downtown from this

and fix a bug with spawning bike trips. never OK to silently not
schedule a trip, because it breaks the schedule continuity
2020-07-13 15:17:14 -07:00
Dustin Carlino
0f82c21560 - manually fix a few crazy signals downtown.
- interpret tags to make 3rd Ave bus-only. cars technically allowed
  sometimes, but bus-only is more accurate for now.
- also remove austin from bundled maps. maintaining it has a cost, and
  the point was just to have at least one non-seattle city kept up to
  date.  krakow now satisfies that.
2020-07-13 13:40:46 -07:00
Dustin Carlino
b058d5d926 cargo fmt and regenerate map data 2020-07-13 10:11:48 -07:00
Dustin Carlino
3c816b206d grab fresh osm with some lane fixes downtown. adjust the release slightly to make it easier to use the one-shot importer. [rebuild] 2020-07-12 11:46:52 -07:00
Dustin Carlino
35a63af590 don't lane-change unnecessarily 2020-07-12 10:42:28 -07:00
Dustin Carlino
0c283d0da7 finish up the grand geom stabilization with ring and some docs.
regenerated everything from scratch. one effect is more parking
blockface gets matched onto border roads, but that's fine.
2020-07-11 16:05:26 -07:00
Dustin Carlino
f8ace3c0ab per-city config to let bikes use bus lanes, for #184
while I'm regenerating maps anyway, grab fresh seattle osm with more
lane fixes. and parallelize a slow point matching step -- 10x speedup
for austin
2020-07-11 11:08:23 -07:00
Dustin Carlino
c20e370139 parse OSM bus/psv lanes better. towards #168. need to handle
https://wiki.openstreetmap.org/wiki/Key:lanes:psv next
2020-07-10 20:31:49 -07:00
Dustin Carlino
4919fbf90f autodetect ICs across the whole map, not just when there are complex
turn restrictions

and... enable the new "run the red light" after starting an uber-turn. I
can get to 6am on downtown with a few simple edits now.
2020-07-10 17:39:25 -07:00
Dustin Carlino
4c8ad5a8da determine if a vehicle is currently performing an uber-turn, without
modifying the low-level PathSteps. also make sure to not try LCing when
going into one.

on the cusp of being able to treat complicated intersections as one...
2020-07-10 12:40:51 -07:00
Dustin Carlino
05c47852b0 color buildings with some amenity slightly differently. and grab fresh krakow osm data 2020-07-10 11:20:56 -07:00
Dustin Carlino
585ba4f137 when sidewalks=separate, don't put sidewalks on both sides of a one-way.
this is a complete guess, but seemingly a better one for some sample
cases in seattle and krakow. helps with #178.

also opt krakow into screenshot diff testing; it has enough different
things happening that it's worth watching more carefully how importing
changes affect it.
2020-07-09 18:53:15 -07:00
Dustin Carlino
3639379313 importer option to assume onstreet parking on some residential roads, if OSM doesnt say anything. give 50% of residential roads in krakow some parking. fixes #171
also clean up the seattle sidewalks dataset for now; the matching code
is quite bad, and not planning to use this anytime soon
2020-07-09 15:14:08 -07:00
Dustin Carlino
19409dfc8c add krakow as an optional city. need to specify more customization for #171, and given how much work is focused here, using the one-shot importer no longer makes sense 2020-07-09 14:33:39 -07:00
Dustin Carlino
4340ad585b convert the rest of usize IDs to u32. savings:
maps: 645mb -> 625mb
scenarios: 431mb -> 390mb (before all the u32 optimizations, this as
500mb!!!)
prebaked: 80mb -> 73mb

and while I'm at it, grab fresh OSM, with lots of manual lane fixes,
especially near divided highways
2020-07-09 11:43:34 -07:00
Dustin Carlino
438bc39b86 handle cycleway:both, for #168 2020-07-08 17:59:30 -07:00
Dustin Carlino
6304abdcc8 make updater handle new screenshots format, and rm accidentally uploaded krakow map 2020-07-08 14:55:00 -07:00
Dustin Carlino
7c0aaed370 the first link light rail has left the staton. #numtot 2020-07-08 14:29:02 -07:00
Dustin Carlino
b91d6365e0 dont put sidewalks on a roundabout that's explicitly tagged. fixes #165
this actually disconnects the boyer roundabout (which is tagged
correctly in OSM, but not using the separate sidewalks yet). fine for
now, might add a temporary override later
2020-07-08 09:36:35 -07:00
Dustin Carlino
94512d95b9 change LaneID from usize to u32. savings:
scenarios: 458MB -> 431MB
maps: 676MB -> 638MB
prebaked: 85MB -> 80MB

also fix #163
2020-07-08 08:47:02 -07:00
Dustin Carlino
4aaa41dd13 zip screenshots in dropbox, because managing individual files keeps crashing the daemon 2020-07-07 16:31:52 -07:00
Dustin Carlino
3eb8db3f75 interpret OSM center lines as the physical center of the road (excluding
sidewalks), not as the divider between the two directions. this
dramatically changes geometry everywhere for the better.

thanks to
https://wiki.openstreetmap.org/wiki/Proposed_features/placement for
clear explanations. will be looking next at interpreting this tag.

also temporarily removing screenshots, because uploading individual
files and waiting for dropbox to sync isn't sustainable
2020-07-07 15:52:51 -07:00