225 Commits

Author SHA1 Message Date
Bryan Housel
34c98b94e6 Move directions code from vertices to node.js 2017-12-09 12:53:08 -05:00
Bryan Housel
855c112ae0 Convert lodah-es and d3 to named imports for osm 2017-09-25 14:14:49 -04:00
Bryan Housel
4904b7a253 Recognize more kinds of concrete surface as "paved" 2017-08-10 11:11:54 -04:00
Bryan Housel
8de3429f2b Fix misspelling 2017-08-06 23:59:16 -04:00
Bryan Housel
10659505e2 Add code to treat a few special tags as areas instead of lines
even in the absense of a proper `area=yes` or `areaKeys` tag.
(closes #4194)
2017-08-06 23:39:58 -04:00
Bryan Housel
89013627fb Don't consider untagged multipolygons as old multipolygons
Also add a lot of old-style multipolygon tests
(closes #4009)
2017-05-04 12:16:04 -04:00
Bryan Housel
795fe29cdd Only show connected vertex if it connects an interesting line 2017-04-26 00:34:48 -04:00
Bryan Housel
f92320c166 Ignore uninteresting tags in old-style multipolygon code 2017-04-21 09:40:05 -04:00
Bryan Housel
af757d31be General usability improvements
* Reevaluate all featuers stroke widths for shadow, casing, stroke
* Shadow width is important to make sure all features are easily clickable
* Casing width is important to see oneway arrows
* Make sure all line styles have normal and low-zoom variants
* Show directional arrows for all waterway types
2017-03-16 16:16:35 -04:00
Bryan Housel
1a8cfcc8b1 Changeset refactor
(closes #2633)

* move osmChangeJXON from osm service to osmChangeset
* cleanup putChangeset for code clarity
* adjust params for callbacks (pass changeset around instead of changeset_id)
* add commit.reset() to reset changeset object after successful save
* improve checks for changeset tags (trim whitespace, etc)
2017-03-15 11:03:43 -04:00
Bryan Housel
f783fe4942 Create osmChangeset object, inherit from osmEntity 2017-03-11 01:12:37 -05:00
Bryan Housel
8ecff8b8bc Add osmNode#isConnected
This is used to draw vertices
* where multiple parent ways meet
* where a single way self intersects (but not the closing node of a loop)

We were using Graph#isShared or osmNode#isIntersection, but this is slightly
different to handle self-intersecting ways.
2017-01-23 23:44:04 -05:00
Bryan Housel
04971478cb Add osmNode#isEndpoint 2017-01-23 21:03:34 -05:00
Bryan Housel
ec2c2e6612 Ensure isDegenerate can be called for all entities 2017-01-23 14:17:41 -05:00
Bryan Housel
f109efda7b Fix close() for single node ways 2017-01-12 15:56:46 +05:30
Bryan Housel
73e27c9657 Now that updateNode preserves circularity, provide close/unclose functions
This lets us break closed ways at their connecting node in the few situations where
we actually want that behavior (disconnect action for circular non-area ways)
2017-01-09 19:41:38 -05:00
Bryan Housel
8676dd6e4c Changes to removeNode and add tests 2017-01-09 18:38:28 -05:00
Bryan Housel
7b86afc9de Changes to replaceNode and add tests, also stricter isClosed 2017-01-09 18:16:30 -05:00
Bryan Housel
f510038791 Changes to updateNode and add tests 2017-01-09 17:33:46 -05:00
Bryan Housel
f1cdde0f92 Changes to addNode and add tests 2017-01-09 17:33:26 -05:00
slhh
7817d6dff1 Prevent duplicate consecutive nodes in addNode, updateNode, and
replaceNode, and add some comments.
2016-12-24 18:32:28 +01:00
Bryan Housel
722eb3ae4b perf: call geoPolygonIntersectsPolygon monomorphically to avoid deopts 2016-11-10 11:17:28 -05:00
Bryan Housel
b07bf8eaa2 Extract lane parsing code from way.js into lanes.js 2016-10-12 00:10:46 -04:00
Bryan Housel
f50e80d0b5 Refactor Intersection, Multipolygon from geo to osm 2016-10-11 23:09:27 -04:00
Bryan Housel
07fa5fcc34 Refactor Entity, Node, Relation, Tags, Way from core to osm 2016-10-11 22:41:24 -04:00