Commit Graph

1025 Commits

Author SHA1 Message Date
Dustin Carlino
cce624edd8 start the big one: Polyline::new 2020-07-11 13:42:19 -07:00
Dustin Carlino
0593aa52d9 more caution in Line API 2020-07-11 13:05:34 -07:00
Dustin Carlino
98c6f46c78 the first real big change: Line::new always returns Option 2020-07-11 12:37:38 -07:00
Dustin Carlino
0dd3199f7a cut down variations of pt2d<->gps. mostly we want to forcibly convert.
possible semantic change: soundcast border matching now includes ALL
borders, even if the center is slightly OOB
2020-07-11 12:02:12 -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
7ab78d543a ignore red lights in the middle of an uber-turn. currently disabled
until a few more things are in place, but this is headed in the right
direction. [rebuild]
2020-07-10 16:03:22 -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
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
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
4cb35c6e3b fix parking aisle matching; need to use the center to match it to the closest lot 2020-07-09 10:22:53 -07:00
Dustin Carlino
29ecc44158 fix deadend geometry for cases where the left/right side of a road change after trimming the center points 2020-07-09 10:21:00 -07:00
Dustin Carlino
3370aae83b don't spawn new traffic on the screensaver every time we bounce off the
screen edge. the scenario generator starts person IDs from 0, so was
breaking. fixes #172
2020-07-09 10:08:58 -07:00
Dustin Carlino
438bc39b86 handle cycleway:both, for #168 2020-07-08 17:59:30 -07:00
Dustin Carlino
d94c993b9b debug #113 2020-07-08 16:18:54 -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
4f9bea7f19 don't be afraid of multi-lane roundabouts. fixes #166 2020-07-08 11:56:20 -07:00
Dustin Carlino
865522ed19 use a quadtree to speed up parking aisle matching. huge_seattle from 58s to... 0.5s. I'll take it. ;) 2020-07-08 09:40:41 -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
187c8ad4c5 consider again the possibility of merging some degenerate roads 2020-07-07 21:39:42 -07:00
Dustin Carlino
9a27f6d3dd cleanup the old abstutil Error 2020-07-07 17:09:51 -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
Dustin Carlino
302363541f better error message for the common case of map data 2020-07-07 13:14:33 -07:00
Dustin Carlino
f20e993817 print OSM IDs more usefully 2020-07-07 13:04:32 -07:00
Dustin Carlino
d551ef8bb2 filter out bus stops that're out of order along a single road -- probably OSM issues. encountered in #119. also adjust dev docs for windows for #157 2020-07-07 12:30:59 -07:00
Dustin Carlino
9f72b3dd51 cleanup after the relative dir fix, and add support for hardcoding the
data dir, for #137
2020-07-07 12:14:02 -07:00
Dustin Carlino
6919c24bf8 detect the data/ dir more intelligently. fixes #73. still need to
- consider collapsing the directory structure in the releases
- fix wasm

[rebuild]
2020-07-07 11:09:35 -07:00
Dustin Carlino
476e0e101f easy wins: make BuildingID u32, not usize. maps from 680MB to 676MB.
scenarios from 500MB to 458MB.

considered going down to u16, but pretty sure there are already maps
with >65k buildings
2020-07-06 17:55:02 -07:00
Dustin Carlino
fbff30a869 fix some epsilon issues with deadends and walking turns to get entire
krakow map to import. closes #143
2020-07-06 14:24:31 -07:00
Dustin Carlino
cac35319b2 handle off-side bike lanes on oneway roads. fixes #140 2020-07-06 14:03:22 -07:00
Dustin Carlino
1dcc7456db stop attempting to parse OSM turn restriction types. not doing anything useful with them yet anyway, and it causes friction importing new maps. fixes #142 2020-07-06 13:26:23 -07:00
Dustin Carlino
82345767c9 store a bitset of access restrictions per road. derive zones from this only for editing and pathfinding. this unblocks editing zones 2020-07-06 13:09:49 -07:00
Dustin Carlino
c3858b9cdd mark construction lanes appropriately. this broke when adapting to the new tagging on the west seattle bridge, but there are some roads tagged this way in krakow.
(not regenerating all the maps yet, expecting to do more work on this
today)
2020-07-06 07:43:42 -07:00
Dustin Carlino
5427d8ea40 also express lane type changes using the new approach 2020-07-05 14:04:49 -07:00
Dustin Carlino
6e8eef8d09 start refactoring how edits are validated. need to deal with lane types
next
2020-07-05 13:20:19 -07:00
Dustin Carlino
804896cfda relax some old requirements for bus stops not being on the same lane. i
dont remember what the old issue was. this fixes some light rail stops
downtown, because multiple stops are along a single light rail lane.
2020-07-05 12:34:46 -07:00
Dustin Carlino
8b7658c48f dont crash when closing a traffic signal with disconnected sidewalks 2020-07-04 18:08:54 -07:00
Dustin Carlino
181de12409 woops, 72d0171300 broke signal editor by
crashing if you were missing a turn. dont validate in the middle of
editing. still seeing a problem with traffic signal -> construction
2020-07-04 17:51:45 -07:00
Dustin Carlino
3eecdeddff fix some two-step pathfinding bugs that were crashing south seattle 2020-07-04 09:37:22 -07:00
Dustin Carlino
505311a93f improve the signal synchronization a bit for #8. hardcode a few small
intersections to make the downtown map make more progress. make it
easier to copy OSM node IDs.
2020-07-04 08:53:13 -07:00
Dustin Carlino
628ee0fa86 dirt simple method to swap the order of pairs of two-phase signals to
try to synchronize them better. towards #8. not regenerating screenshots
because it's late and there'll be more screenshot churn tomorrow anyway
2020-07-03 21:55:54 -07:00
Dustin Carlino
3a7a75e011 for the heuristically generated traffic signals, handle roads with
sidewalks on only one side. part of #8
2020-07-03 19:50:31 -07:00
Dustin Carlino
575dcfb782 snap bus vehicle/sidewalk positions to the correct side of the road and
a more appropriate lane. also fix #122
2020-07-03 19:00:20 -07:00
Dustin Carlino
ac88a96f61 use a different icon for train stops 2020-07-03 17:49:36 -07:00
Dustin Carlino
56cb59c3ac rip out gtfs code, cutover to osm. will revisit this later; gtfs and osm probably disagree on routes and stops, and gtfs has schedule. but for now, just osm. 2020-07-03 17:33:32 -07:00
Dustin Carlino
0dc42d7e19 use bus stops from OSM instead of gtfs. expose the stop name and the
driving position in the info panel. some issues with the driving
positions, but this is the way forward for light rail.
2020-07-03 15:22:13 -07:00
Dustin Carlino
1175826f3d scrape bus info from OSM into the RawMap layer. don't use it yet. 2020-07-03 12:00:42 -07:00
Dustin Carlino
ec2411fb8b experiment with isochrones. nothing yet. 2020-07-02 13:41:24 -07:00