Commit Graph

315 Commits

Author SHA1 Message Date
Dustin Carlino
9569fd6159 filter out access=no roads. removes the old 520 entrance that's causing lots of unrealistic border traffic in lakeslice. add a map to study west seattle 2020-05-05 09:46:03 -07:00
Dustin Carlino
3a8e56f16b optionally detect when a path violates one of these complicated TRs 2020-05-03 11:43:21 -07:00
Dustin Carlino
7d2fa77323 grab turn restrictions across roads from OSM, plumb into RawMap 2020-05-03 10:41:00 -07:00
Dustin Carlino
02c5b6617b dismantle importing for neighborhoods. long unused. just retain a simple
osmosis polygon editor.
2020-05-01 14:11:41 -07:00
Dustin Carlino
01bd4aec6f clean up some fallout from the grand data refreshening. mostly
robustifying tutorials/challenges by using IDs stable across map updates
2020-05-01 10:54:43 -07:00
Dustin Carlino
773ea6d5cf fix graph connectivity problems
- forcing a sidewalk until we can snap OSM footpaths better
- fixing 0-cost CH edges

but, uh, now montlake without fixes gridlocks again. :D
2020-04-30 12:12:36 -07:00
Dustin Carlino
cea84757e1 making a little progress with ballard 2020-04-29 18:49:14 -07:00
Dustin Carlino
956b1ec4ea banning an extremely questionable left turn... AND LAKESLICE WORKS 2020-04-29 18:11:03 -07:00
Dustin Carlino
734c06418a It is 5 am
And you are listening
To Los Angeles
2020-04-28 14:31:23 -07:00
Dustin Carlino
18779c10ad organizing data/input by city. (I tried organizing everything in data/,
but it's too big a change. small steps.)
2020-04-28 12:28:37 -07:00
Dustin Carlino
7eba721145 decide extra offstreet parking by an option in convert_osm. remove the old standalone binary in favor of just using importer 2020-04-25 10:36:49 -07:00
Dustin Carlino
65ef5d4149 make LonLat implement Eq 2020-04-24 21:36:52 -07:00
Dustin Carlino
55e0d2a364 overhauling offstreet parking model:
- almost all buildings can have a few spots
- render things a little differently
- increase paranoia of buildings that can have driveways, to avoid many
complicated simulation issues
2020-04-24 12:50:22 -07:00
Dustin Carlino
5d043197a0 filter out private roads entirely. an amusing amount of traffic cutting
through broadmoor, otherwise
2020-04-20 13:42:14 -07:00
Dustin Carlino
0133685eb7 converted the import.sh shell script into Rust. towards #27
as part of this, wound up grabbing fresh OSM and GTFS. but actually cant
reimport OSM right now, because fixes reference old OSM IDs and things
break. so sticking with old OSM, but new GTFS. urgh.
2020-03-25 19:54:33 -07:00
Dustin Carlino
0bcbac1fee upgrade a few misc packages 2020-03-17 10:35:37 -07:00
Dustin Carlino
812c7fa640 start support driving on the left, more carefully tracking all the dependencies. part of #27. lots of bugs left, but it doesn't break anything for driving on the right. 2020-03-16 17:40:12 -07:00
Dustin Carlino
1cce49648b some fixes to get Perth to import, part of #27
- filter out indoor corridors
- plumb through a flag for driving on the right/left. don't use it yet.
2020-03-16 15:20:35 -07:00
Dustin Carlino
6e8846bf85 bring back elevation data before the hackathon. manual revert of 35b7c18df9 2020-03-11 11:08:49 -07:00
Dustin Carlino
b2216bb482 not all lanes have to be the same width. make sidewalks a bit thinner. 2020-01-28 17:26:14 -08:00
Dustin Carlino
5048c69750 scrape named amenities from OSM, match to buildings 2020-01-28 15:57:45 -08:00
Dustin Carlino
95a84fd26a tweaking rustfmt options; the long literal string vecs in tutorial look awful 2020-01-21 15:20:02 -08:00
Dustin Carlino
adb2a970dd switch to a real gtfs parser. should help towards #27 -- I was
hardcoding CSV indices for one particular GTFS feed
2019-12-17 13:36:49 -08:00
Dustin Carlino
dc2cc81249 make Timer methods and ModalMenu take &str or String 2019-12-12 10:25:48 -08:00
Dustin Carlino
558a442b79 fix small bug in import script, and skip over bad polylines in
blockface. fixes #4
2019-12-03 19:28:58 -08:00
Dustin Carlino
a043a9ba05 clean up more of abstutil path/filesystem API 2019-12-03 09:59:43 -08:00
Dustin Carlino
720f9b8b30 similar for writing 2019-12-02 20:41:09 -08:00
Dustin Carlino
808c3da141 panic early with a nice error if we cant read a binary or json file 2019-12-02 20:35:20 -08:00
Dustin Carlino
463ed7022e small fixes/cleanups to map layer:
- print highest cost in heatmap over all turns
- rm defunct label support for roads/bldgs
- trim out unused methods from Map
- making spawner go through sim layer to get paths, consolidating a bit
2019-11-18 10:33:36 -08:00
Dustin Carlino
98ef31fa24 disabled: import and render pedestrian traffic islands. include them in
search results.
2019-11-14 10:54:11 -08:00
Dustin Carlino
f299d38ea3 improve sidewalk heuristic -- assume larger oneway roads dont have a sidewalk on both sides 2019-11-09 14:34:31 -08:00
Dustin Carlino
179009de32 stop coloring synthetic/original stuff in map editor. not useful now that it's normal to modify existing stuff 2019-11-06 10:16:06 -08:00
Dustin Carlino
03e2c0b3f2 one master set of fixes in huge_seattle coordinate space, then a single override per map. start over with fixes... again. for the last time?! all the tricky cases from last time work now... 2019-11-04 09:50:59 -08:00
Dustin Carlino
6f50cbaa30 finishing the big cutover from stable to original IDs. main path works,
now looking at map editor
2019-10-28 12:40:09 -07:00
Dustin Carlino
ea50371d64 rip out stable IDs in favor of orig IDs. the extra layer is confusing for things like MapFixes. stop modifying orig IDs when merging roads.
NOT done with this transition yet, just pushing to not lose work
2019-10-28 12:08:11 -07:00
Dustin Carlino
7d7bfef5ea filter out parking garages with 0 spots. render water on top of parks,
to workaround issue of the green lake park polygon covering everything
up
2019-10-26 11:37:10 -07:00
Dustin Carlino
9a3e7dc758 handling the giant ocean polygon. actually easier after earlier! 2019-10-25 22:44:21 -07:00
Dustin Carlino
e0bb2f97e0 debug floodfill from sidewalks, now that i'm really messing with that
connectivity
2019-10-25 14:40:52 -07:00
Dustin Carlino
27ddb21bc9 best effort include multipolygons that have some pieces unused. gets a few more cases working. 2019-10-25 14:09:35 -07:00
Dustin Carlino
e03e3393dd be a little smarter about finding hits with the boundary 2019-10-25 13:54:09 -07:00
Dustin Carlino
77d0647b4f when gluing together partial multipolygons, trace along the border when possible. improves a few cases. 2019-10-25 13:46:21 -07:00
Dustin Carlino
fe14e1709b implement PartialEq on Pt2D using the old epsilon_eq. too many places in the codebase are inconsistent. 2019-10-25 12:24:18 -07:00
Dustin Carlino
814349b650 treat junction=roundabout roads as not needing sidewalk/parking confirmation 2019-10-25 09:54:20 -07:00
Dustin Carlino
f107bc1241 fix parking hint application to not erase other side 2019-10-24 17:35:02 -07:00
Dustin Carlino
2313b06995 DISABLED: apply sidewalk hints, same as parking. need to sort out what
should happen with parking without sidewalks
2019-10-23 13:00:42 -07:00
Dustin Carlino
9cab5bf903 prep before bringing in king county sidewalks. clean up lane type
calculation, move motorway/parking filter earlier. stop bringing in
street signs.
2019-10-23 09:35:41 -07:00
Dustin Carlino
d358f574d5 handle OSM polylines that have redundant internal nodes and cause weird shifting later (26th and gilman) 2019-10-21 19:28:31 -07:00
Dustin Carlino
0a97482a16 er, dont need parking hints on buildings and areas. also adjust traffic
signal box color; needed updating after changing colors a while ago
2019-10-17 12:44:00 -07:00
Dustin Carlino
74372c64b6 count how many roads have been audited. apply default tags (and mark
them inferred) to everything, to count properly.
2019-10-15 12:17:38 -07:00
Dustin Carlino
a762887cf8 interpret parking tags from OSM. explicitly mark when convert_osm infers and adds these. 2019-10-15 09:49:11 -07:00
Dustin Carlino
9d237f314b dont conflict between synthetic OSM IDs created by map_editor and by map clipping 2019-09-29 12:43:02 -07:00
Dustin Carlino
1a678f6e72 revamp osm turn restriction handling. capture the 'via' to disambiguate things, and match to roads way sooner. not persisting to MapFixes again. 2019-09-27 11:05:19 -07:00
Dustin Carlino
23166b1aa8 switch to turn restriction enums, so we can easily use IDs in map_editor 2019-09-24 18:58:06 -07:00
Dustin Carlino
536df84844 rename raw_data layer of stuff for easier importing, disambiguation 2019-09-23 15:00:55 -07:00
Dustin Carlino
1495cc2970 remove redundancy of osm IDs on raw stuff 2019-09-23 12:08:00 -07:00
Dustin Carlino
deaa555565 cutover Original{Road,Intersection} to just use OSM IDs. adjust a few
other places to ensure unique-per-map synthetic OSM IDs
2019-09-23 11:50:04 -07:00
Dustin Carlino
9cc20cd87c add a new map that includes a few light rail stops, for the hackathon 2019-09-21 08:41:01 -07:00
Dustin Carlino
1e73baa078 start remembering osm_node_ids for intersections 2019-09-20 15:17:54 -07:00
Dustin Carlino
b3bfd6a3f2 stop mangling roundabouts. it'll conflict with the next change, and its a hack that should be correctable by manual intervention now... 2019-09-20 14:56:22 -07:00
Dustin Carlino
0ae0a88abb actually, serialize MapFixes as json for now. will switch to binary when this is large later, but for now, this is easier to handle schema changes and debug. 2019-09-19 14:39:31 -07:00
Dustin Carlino
3eb9acf0aa plumb parking lane hints around through tags too; simplifies a few places 2019-09-19 13:30:07 -07:00
Dustin Carlino
dd02010614 switched to my own CLI parsing in convert_osm, away from structopt. compilation time down from 6.7s to 4.5s, and parsing is more clear now! 2019-09-18 16:37:22 -07:00
Dustin Carlino
6f1ac3969e organizing osm keys 2019-09-17 17:14:09 -07:00
Dustin Carlino
e52fa1fc1a recording and applying fixes to create new synthetic intersections and roads 2019-09-17 16:16:19 -07:00
Dustin Carlino
1e4f36dec1 duplicate OSM ids in tag maps universally, to simplify some other places 2019-09-17 15:37:11 -07:00
Dustin Carlino
eee5981c14 stable IDs for buildings in raw layer too. stop futzing with ID problems there. 2019-09-17 13:11:08 -07:00
Dustin Carlino
83834f7d40 actually, deferring remove_disconnected has problems.. still need to remove cul-de-sacs early. also, remove the two synthetic maps... will make them again from scratch once the raw_data format is stable. unused in the meantime. 2019-09-17 10:47:47 -07:00
Dustin Carlino
0e406afe0f store name in raw map; simplifies some plumbing elsewhere 2019-09-17 10:27:32 -07:00
Dustin Carlino
18baf7ae49 remove disconnected roads from raw map later, not in convert_osm. that way, if MapFixes disconnect anything, it gets removed later 2019-09-17 09:41:38 -07:00
Dustin Carlino
030191ef31 fixed OriginalRoads, which were pretty much always wrong (not split from
the original OSM way). also handle cul-de-sacs.
2019-09-17 09:29:19 -07:00
Dustin Carlino
47e38f6fa6 strip out really useless OSM metadata... slightly smaller files, less noise in various debug modes 2019-09-13 15:28:54 -07:00
Dustin Carlino
c3ae6bf8f8 ditch quadtrees in synthetic crate. if anything, switch later to
viewer's World
2019-09-11 13:34:41 -07:00
Dustin Carlino
43c2c72e71 importing street sign dataset to override bad parking categories from blockface. the signs look overeager... so disabling 2019-09-08 17:23:53 -07:00
Dustin Carlino
44799c0717 refactor a Counter type 2019-09-05 18:44:24 -07:00
Dustin Carlino
1910d06bc7 infer clipping polygon from entire .osm if no polygon is specified 2019-09-02 12:37:40 -07:00
Dustin Carlino
3fd59ebdb5 fix #2 - better error for clipping polygon that doesnt match osm 2019-09-02 11:53:54 -07:00
Dustin Carlino
ba2b5fc831 compute and render driveway lines 2019-08-30 12:38:07 -07:00
Dustin Carlino
a5fc3b092f simplify dataflow a bit in convert_osm 2019-08-26 15:45:28 -07:00
Dustin Carlino
ead5593448 work around overlapping offstreet parking hints, so that all maps can be fully reconverted 2019-08-26 14:56:55 -07:00
Dustin Carlino
9fac44e28b fix roundabout handling. clearing out hints, because many no longer
apply with the back-and-forth gps/pt2d stuff... reasonable to reset
efforts anyway, now that I'm considering patching in OSM edits instead
2019-08-26 14:40:47 -07:00
Dustin Carlino
c545e5d86e some bug with previous commit messing up roundabout handling... quick detour to only have HashablePt2D for Pt2D, never for LonLat 2019-08-26 14:10:34 -07:00
Dustin Carlino
114a76893a now raw_data::Road 2019-08-26 13:59:10 -07:00
Dustin Carlino
9156cbd434 raw_data::Intersection too 2019-08-26 11:18:39 -07:00
Dustin Carlino
ce4369be27 raw_data::Building too 2019-08-26 10:36:00 -07:00
Dustin Carlino
6af2c5c0e0 raw_data::Area up-front stores a Polygon 2019-08-25 19:28:59 -07:00
Dustin Carlino
29eb463a6f base gps_bounds off of boundary polygon only. temporarily allow some out-of-bound coordinates, and deal with them during clipping. this means the osmosis boundary polygon is required. 2019-08-25 19:07:12 -07:00
Dustin Carlino
1936f5f75e match offstreet parking KML to buildings 2019-08-25 14:00:25 -07:00
Dustin Carlino
f78c58e11d remove clipping dep from convert_osm, switch to geo-booleanop 2019-08-15 23:20:11 -07:00
Dustin Carlino
96db77e8b2 stop importing traffic signal data from king county. OSM's data is higher-quality and already attached to specific nodes. 2019-08-15 14:19:11 -07:00
Dustin Carlino
4e83f492d8 upgrade rand, get rid of now unneeded serde1 feature, in hopes of fixing feature mismatch between deps 2019-08-15 12:14:35 -07:00
Dustin Carlino
758c5494d8 remove old unused deps 2019-08-09 13:34:40 -07:00
Dustin Carlino
453204129c some instructions to import a new .osm. don't require a clipping
polygon. small tweaks to map construction to make Austin work.
2019-07-15 16:43:57 +02:00
Dustin Carlino
8cf1b74c3d notes for a new article on the map model. no pictures yet. also no
autoformatting...
2019-07-07 16:35:21 -07:00
Dustin Carlino
9f9db35c38 capture raw turn restriction data from OSM, hacky way to debug them 2019-07-03 17:16:00 -05:00
Dustin Carlino
5fa824f504 preps for interpreting turn:lanes from OSM 2019-07-02 15:03:18 -05:00
Dustin Carlino
7a49c585cf remove building_type and stop reading the residential permit shapefile 2019-06-18 14:58:57 -07:00
Dustin Carlino
da85927d03 change Hints to store based on gps points, so hints are universal, not per map 2019-06-12 14:55:48 -07:00
Dustin Carlino
0adeac1d53 remove the single point associated with intersections, now that we're
actually going to be mucking with geometry. it wasnt doing anything
useful anyway. also a round of clippy.
2019-06-12 10:10:04 -07:00
Dustin Carlino
35b7c18df9 remove elevation from map model. never been used, no anticipated need for it 2019-06-12 07:25:31 -07:00
Dustin Carlino
98e073d8be save hints from debug_initialmap, use them when constructing the real
map
2019-06-11 17:41:47 -07:00
Dustin Carlino
4e2d16af29 consistently using file extensions of .json and .bin, merging duplicate abstutil io functions accordingly 2019-06-11 14:30:11 -07:00
Dustin Carlino
35b3e4b7be round of clippy / unbreaking the build 2019-05-29 13:01:33 -07:00
Dustin Carlino
0d107df0da recalculate bounds after clipping and removing stuff. neighborhoods break otherwise. 2019-04-15 11:28:02 -07:00
Dustin Carlino
05e1398a3d fix up road clipping and enable it permanently. chose to disconnect
intersections that would be connected by a road that starts or ends OOB.
result looks great!
2019-04-15 11:04:04 -07:00
Dustin Carlino
72ae49e25f draw real map bg by default now 2019-04-13 16:22:37 -07:00
Dustin Carlino
e873f79f67 removing old code for area clipping 2019-04-13 15:54:13 -07:00
Dustin Carlino
9d46cb1c0f actually, just try a crate to just do polygon intersection. seems to
work great!
2019-04-13 15:08:19 -07:00
Dustin Carlino
366267fcbf try clipping areas a different way. disabled, but close to working well. 2019-04-13 13:25:00 -07:00
Dustin Carlino
11a1c3543e clip buildings that're partly out-of-bounds 2019-04-12 13:05:59 -07:00
Dustin Carlino
94b5307828 use the new SharedSidewalkCorner code for turn geometry, at least 2019-04-11 16:38:06 -07:00
Dustin Carlino
d207c3c33a rip out parcels entirely; unused for long time and no anticipated uses 2019-04-11 11:40:37 -07:00
Dustin Carlino
5ca359998c upgrade some dependencies and list data source licenses in README 2019-03-11 16:04:47 -07:00
Dustin Carlino
f249c6b2d9 call Timer.done automatically using Drop trait. use throwaway less 2019-02-27 12:15:04 -08:00
Dustin Carlino
b02807ceee use quadtree to speed up fix_ramp step 2019-02-22 10:15:13 -08:00
Dustin Carlino
c2791a6ead using Warn in all of geom 2019-02-20 10:36:58 -08:00
Dustin Carlino
e4e07e7ba6 make it easier to debug areas 2019-02-18 15:56:15 -08:00
Dustin Carlino
e1259587cb updating OSM source. some tweaks to make things work. 2019-02-17 15:58:04 -08:00
Dustin Carlino
a52bea9835 some steps to closing off incomplete areas better... mostly stuff to
quickly iterate on this problem later
2019-02-15 09:03:02 -08:00
Dustin Carlino
0c81234b56 script to reimport and reprecompute a single map. add golf course areas. 2019-02-14 19:05:29 -08:00
Dustin Carlino
b40770edae adjust clipping instead of leaving stuff in sometimes 2019-02-12 15:56:23 -08:00
Dustin Carlino
b8eec25116 store Polygon in Building natively 2019-02-12 12:28:12 -08:00
Dustin Carlino
4dd7dabde5 display boundary polygon, actually 2019-02-11 22:24:19 -08:00
Dustin Carlino
e68d6225c8 clipping roads based on original boundary polygons. buggy, so disabled. 2019-02-11 22:13:49 -08:00
Dustin Carlino
e2de3e208c use FindClosest quadtree helper for residential bldg permit matching 2019-02-11 15:35:06 -08:00
Dustin Carlino
0a3f2676f0 more timer measurements for convert_osm, and make sure to erase
precomputed maps when re-converting a map
2019-02-11 14:22:05 -08:00
Dustin Carlino
ea3170a9a9 make more multipolygons work by dealing with closed ways 2019-02-11 13:08:18 -08:00
Dustin Carlino
8693bbc1e3 import residential building dataset 2019-02-10 19:24:34 -08:00
Dustin Carlino
ec01207369 try upgrading rand and serde again 2019-02-10 15:57:28 -08:00
Dustin Carlino
51399e19ed organize convert_osm lib better. also make clippy build everything
again.
2019-02-10 15:52:21 -08:00
Dustin Carlino
c6229e0de6 make cemeteries and lake washington (with inner ways) work 2019-02-10 14:45:38 -08:00
Dustin Carlino
8eaf09034f handle mulitpolygons with incomplete clipped info 2019-02-09 21:48:21 -08:00
Dustin Carlino
f693316290 parse OSM multipolygons, like bodies of water, correctly, when they're
completely present in the .osm
2019-02-09 21:03:44 -08:00
Dustin Carlino
2282c5658d make geom types Ord now 2019-01-31 14:29:47 -08:00
Dustin Carlino
7519fdf584 using strong Distance types in many more places 2019-01-30 15:54:54 -08:00
Dustin Carlino
0c6f7c424d removing dimensioned from last few crates 2019-01-30 14:29:42 -08:00
Dustin Carlino
4e89b0fcfe filter out cul-de-sacs earlier, so convert_osm works again 2019-01-28 13:19:42 -08:00
Dustin Carlino
f018158aa3 remove copyright comment from remaining files 2019-01-20 13:57:55 -08:00
Dustin Carlino
0c32faa40c moving neighborhood to map_model crate, so convert_osm can stop depending on sim 2019-01-17 15:29:00 -08:00
Dustin Carlino
76dc85d5c8 remove unnecessarily boxed closures, and use generics instead 2019-01-17 15:22:31 -08:00
Dustin Carlino
61128f098b make my own retain for btreemap. also refine the loop-road filtering in
the experimental road merger
2019-01-17 15:09:09 -08:00
Dustin Carlino
be9a9b86fe dont modify geometry of ways touching roundabouts, now that we have raw roads pointing to intersections 2019-01-17 12:03:08 -08:00
Dustin Carlino
761008b3ac make raw roads directly refer to intersections 2019-01-17 11:30:58 -08:00
Dustin Carlino
3422877d3d adding a stable ID for raw roads and intersections. way easier to refer to things in the midst of deletions. 2019-01-17 11:10:05 -08:00
Dustin Carlino
dfe50dcee4 reasonable support for roundabouts... collapse it to a single
intersection, which usually gets treated like a stop sign, and has
reasonable geometry
2019-01-16 15:05:44 -08:00
Dustin Carlino
e8e119dbbf remove all the polyline shifting/polygon variants that might fail 2019-01-15 15:25:00 -08:00
Dustin Carlino
daa55026ae making shift left/right for polyline too 2019-01-12 14:13:15 -08:00
Dustin Carlino
47b5d2e4aa upgrade all other deps, except for piston/winit stuff 2019-01-11 12:36:20 -08:00
Dustin Carlino
da20cc277d upgrade osm-xml and simplify OSM reference resolving a bit 2019-01-11 11:05:07 -08:00
Dustin Carlino
c09fa98f57 upgrade a few dependencies 2019-01-11 10:55:58 -08:00
Dustin Carlino
d95099efbe basic installation instructions, and tweaks to scripts so that things
work better out-of-box
2019-01-11 10:04:56 -08:00