Commit Graph

1085 Commits

Author SHA1 Message Date
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
8385799844 workaround #240 by deterministically building the parking layer. the
proper fix is to record zorder for parking lots and buildings from OSM
tags. ColorDiscrete would need to understand this. I'll leave that for
later.
2020-07-30 15:36:46 -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
3af929f830 refactor to prep to represent shoulders as tiny sidewalks. #176 2020-07-30 10:06:57 -07:00
Dustin Carlino
0a417bb450 color roads under construction in unzoomed mode based on the underlying road type.
technically this affects stop sign placement, but not wort regenerating
maps yet.
2020-07-28 13:49:39 -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
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
74bf6e0974 get riding off-map to work for #190.
- handle living streets that allow buses in berlin
- don't connect LeaveMap nodes to anything else; people were getting
  creative and using them as shortcuts to effectively warp to a border,
  then come back into the map
- make should_use_transit understand transfers (and still just return
  the first leg)
- warp to bus routes by ID

still at least one weird bug left, seen in krakow. working on it next,
trying to keep these commits "small." not regenerating maps quite yet.
2020-07-27 10:37:21 -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
2ec9c6620f get san jose to import [rebuild] 2020-07-26 15:58:14 -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
eb4acdc2f6 split parking lot code from building code, for #231 2020-07-25 07:09:43 -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
88380550b6 just commit the new walking turn code, to stop rebasing 2020-07-23 15:37:29 -07:00
Dustin Carlino
f66af5ad49 list all edits in the loader. only try to validate them after selection. display clear error if loading fails. #113 2020-07-23 15:27:24 -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
dd3f3d14ab add a signal policy for half signals, inadvertently brought in by fe94357332. update a signal in south seattle.
will regenerate in the next change
2020-07-23 13:52:49 -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
23a1b1a397 calculate and visualize penalties for turns that cut over lots of lanes. a step towards #217 2020-07-23 10:20:16 -07:00
Dustin Carlino
328cbcd1f1 stop melting my laptop when generating scenarios 2020-07-23 09:15:25 -07:00
Dustin Carlino
f1ef02b907 store Tags in map_model objects, to reap its benefits anywhere in the codebase. serialization format doesnt change! 2020-07-23 07:43:50 -07:00
Dustin Carlino
5d2b770258 Model living streets a bit more carefully.
- don't infer parking lanes there
- sidewalks on both side of a one-way
- handle maxspeed with kmph
- no maxspeed on living_street is 20 kmph

still not regenerating maps
2020-07-22 13:09:35 -07:00
Dustin Carlino
404b6e589b import railway=rail as light rail track. nothing should really use it, but it helps visually recognize areas with lots of notable railways. railways under construction not included yet, so some of the lines in krakow just sort of end.
not regenerating maps yet
2020-07-22 11:35:04 -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
bbe06c6075 randomly distribute residents to buildings in the planning area for #119 2020-07-21 14:00:59 -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
1ae29881ba i forgot that there was an isochrone experiment. plug it up to contours. 2020-07-21 07:23:33 -07:00
Dustin Carlino
35b761ec21 get sydney to import 2020-07-20 20:54:08 -07:00
Dustin Carlino
b35122b328 start to organize turn creation code. just split driving/walking to
start; they don't share any logic
2020-07-20 10:56:22 -07:00
Dustin Carlino
2f2245e90f add service roads for buses. closes #203 [rebuild] 2020-07-19 15:29:13 -07:00
Dustin Carlino
d9d4e5448e consolidate some gridlock problems/solutions in markdown, for #114 2020-07-17 13:38:09 -07:00
Dustin Carlino
a86fb5c73d upgrade to rust 1.45 after fixing an issue in fastpaths [rebuild] 2020-07-17 12:54:14 -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
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
d94c03392f keep the first contiguous run of stops inside the boundary for #190 2020-07-15 21:16:36 -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
b942510f67 slightly better border matching for buses. dont count on any ordering in
the route relation. include intersections that get copied as
possibilities.
2020-07-15 17:27:09 -07:00
Dustin Carlino
fb44451621 better errors making routes. also consider role=forward/backward for
border matching.
2020-07-15 15:55:43 -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
b626eb12ad better errors when matching stops/platforms fails. need to use stop_area
in convert_osm layer.
2020-07-15 13:51:16 -07:00
Dustin Carlino
91a9a9a1bc start revamping bus route data model for #190. routes are one-way. make
buses appear at the first stop and vanish at the last.

not regenerating anything yet
2020-07-15 13:15:32 -07:00
Dustin Carlino
f7c8031eda slightly better error for outdated traffic sigs 2020-07-15 09:15:38 -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