abstreet/docs/TODO_quality.md

112 lines
4.5 KiB
Markdown
Raw Normal View History

2019-01-18 08:40:47 +03:00
# TODO - Map quality
2019-03-12 03:18:30 +03:00
## Boundary clipping
- some border intersections have weird OOBish geometry, or the arrows look weird
- simplify border node detection, only do it in convert_osm?
2019-01-18 08:40:47 +03:00
## Geometry
2019-02-01 00:53:41 +03:00
- bad polyline shifting remains
- from the remaining cases, looks like we need to totally remove some tight points and retry
- make polygons use the corrections too?
- bad polyline shifting causes jagged lane endings in generalized_trim_back
- handle small roads again somehow?
- reduce degenerate min trim. the disabled fix doesn't look great.
- I40, I25, I0 cut corners when merged. disabled fix works, but breaks other things.
- try it bigger
- deal with loop roads?
- model U-turns
- car turns often clip sidewalk corners now
- draw SharedSidewalkCorners just around the ped path, not arbitrarily thick
- dont forget to draw the notches
2019-01-18 08:40:47 +03:00
- figure out what to do about yellow center lines
- intersections on one-ways look weird
2019-01-18 08:40:47 +03:00
- yellow and white lines intersect cars and turn icons and such
- who should own drawing them?
## More data
- lanes: https://data-seattlecitygis.opendata.arcgis.com/datasets/49d417979fec452981a068ca078e7070_3
- not filled out for most streets
- traffic circles: https://data-seattlecitygis.opendata.arcgis.com/datasets/717b10434d4945658355eba78b66971a_6
- https://data-seattlecitygis.opendata.arcgis.com/datasets/sidewalks
- disagrees with OSM road centers sometimes
- https://data-seattlecitygis.opendata.arcgis.com/datasets/curb-ramps
- high quality thick roads: https://seattlecitygis.maps.arcgis.com/apps/webappviewer/index.html?id=86cb6824307c4d63b8e180ebcff58ce2
- OSM has footways
- but theyre not marked everywhere
- and theyre hard to associate with roads (sometimes need to infer a planter strip)
- draw benches, bike racks
- render trees
- look for current stop sign priorities
- https://gis-kingcounty.opendata.arcgis.com/datasets/traffic-signs--sign-point/
- http://guides.lib.uw.edu/research/gis/uw-lib_data has cool stuff, but .lyr??
## Low-priority geometry issues
- if building front path intersects another building, then scrap that building.
- or wait, just require bldgs to be even closer to sidewalk first.
- need to do polygon vs polygon check!
- will need to speed it up with quadtree containing entire buildings. make sure these are easy to use.
- can we make OSM buildings with holes?
- experiment with https://docs.rs/clipping/0.1.1/clipping/gh/struct.CPolygon.html and https://github.com/21re/rust-geo-booleanop
## More problems to fix
- Disconnected map
2019-03-11 23:21:53 +03:00
- now that LCing model is simple...
- Impossible turns (from a far bus lane to a crazy left)
- Buildings intersecting roads, probably because bad lane inference
- when this happens, get rid of parking lanes first (one or both sides?)
- iterative process... have to redo affected roads and intersections
- we havent filtered buildings by proximity to sidewalk yet
- if we dont filter at all, we pick up some houseboats! :) should draw water...
## Map edits
- lane type can affect border intersections
- lane type can affect turn idx
- assert turns are the same
## Sim bugs/tests needed
- do bikes use bike lanes?
- test that peds will use buses organically
- make sure that we can jump to a ped on a bus and see the bus
- park/unpark needs to jump two lanes in the case of crossing a bike lane or something
- should only be able to park from the closest lane, though!
- explicit tests making cars park at 0 and max_dist, peds walk to 0 and max_dist
- lanechange rebalancing
- parking/unparking on offside of oneway
## Discrete-event sim model
- cleanup after the cutover
- proper intersection policies, by seeing full view
- time travel mode can be very smart
- dupe code for initially spawning vs spawning when a trip leg starts.
- validation (just do it in spawn and return an error?)
- getting the path
- converting goal into router and such
- perf
- dig into individual events, still too many?
- for laggy heads, often round down and try slightly too early
## Laundry list of intersection geometry ideas
- make sure road widths are reasonable first
- SDOT dataset
- channelization
- extend all the thick roads until they poke out of stuff (except for roads continuing straight)
- play with https://github.com/w8r/polygon-offset
- https://github.com/migurski/Skeletron
- stitch together orig center line of adj roads. then do polyline shifting, which already handles angle eating?
- manually draw intersections
- montlake/520 4 traffic signal case. existing road geometry in OSM doesn't even cover everything.