{"action":"created","issue":{"url":"https://api.github.com/repos/Project-OSRM/osrm-backend/issues/3652","repository_url":"https://api.github.com/repos/Project-OSRM/osrm-backend","labels_url":"https://api.github.com/repos/Project-OSRM/osrm-backend/issues/3652/labels{/name}","comments_url":"https://api.github.com/repos/Project-OSRM/osrm-backend/issues/3652/comments","events_url":"https://api.github.com/repos/Project-OSRM/osrm-backend/issues/3652/events","html_url":"https://github.com/Project-OSRM/osrm-backend/pull/3652","id":205332397,"number":3652,"title":"Isochrone Plugin v2","user":{"login":"danpat","id":1892250,"avatar_url":"https://avatars3.githubusercontent.com/u/1892250?v=4","gravatar_id":"","url":"https://api.github.com/users/danpat","html_url":"https://github.com/danpat","followers_url":"https://api.github.com/users/danpat/followers","following_url":"https://api.github.com/users/danpat/following{/other_user}","gists_url":"https://api.github.com/users/danpat/gists{/gist_id}","starred_url":"https://api.github.com/users/danpat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danpat/subscriptions","organizations_url":"https://api.github.com/users/danpat/orgs","repos_url":"https://api.github.com/users/danpat/repos","events_url":"https://api.github.com/users/danpat/events{/privacy}","received_events_url":"https://api.github.com/users/danpat/received_events","type":"User","site_admin":false},"labels":[{"id":435607262,"url":"https://api.github.com/repos/Project-OSRM/osrm-backend/labels/Work%20In%20Progress","name":"Work In Progress","color":"ff6961","default":false}],"state":"open","locked":false,"assignee":{"login":"danpat","id":1892250,"avatar_url":"https://avatars3.githubusercontent.com/u/1892250?v=4","gravatar_id":"","url":"https://api.github.com/users/danpat","html_url":"https://github.com/danpat","followers_url":"https://api.github.com/users/danpat/followers","following_url":"https://api.github.com/users/danpat/following{/other_user}","gists_url":"https://api.github.com/users/danpat/gists{/gist_id}","starred_url":"https://api.github.com/users/danpat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danpat/subscriptions","organizations_url":"https://api.github.com/users/danpat/orgs","repos_url":"https://api.github.com/users/danpat/repos","events_url":"https://api.github.com/users/danpat/events{/privacy}","received_events_url":"https://api.github.com/users/danpat/received_events","type":"User","site_admin":false},"assignees":[{"login":"danpat","id":1892250,"avatar_url":"https://avatars3.githubusercontent.com/u/1892250?v=4","gravatar_id":"","url":"https://api.github.com/users/danpat","html_url":"https://github.com/danpat","followers_url":"https://api.github.com/users/danpat/followers","following_url":"https://api.github.com/users/danpat/following{/other_user}","gists_url":"https://api.github.com/users/danpat/gists{/gist_id}","starred_url":"https://api.github.com/users/danpat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danpat/subscriptions","organizations_url":"https://api.github.com/users/danpat/orgs","repos_url":"https://api.github.com/users/danpat/repos","events_url":"https://api.github.com/users/danpat/events{/privacy}","received_events_url":"https://api.github.com/users/danpat/received_events","type":"User","site_admin":false}],"milestone":null,"comments":7,"created_at":"2017-02-04T08:10:41Z","updated_at":"2018-02-02T15:17:50Z","closed_at":null,"author_association":"OWNER","pull_request":{"url":"https://api.github.com/repos/Project-OSRM/osrm-backend/pulls/3652","html_url":"https://github.com/Project-OSRM/osrm-backend/pull/3652","diff_url":"https://github.com/Project-OSRM/osrm-backend/pull/3652.diff","patch_url":"https://github.com/Project-OSRM/osrm-backend/pull/3652.patch"},"body":"This PR adds an `isochrone` plugin, which can retrieve travel-time [isochrones](https://en.wikipedia.org/wiki/Isochrone_map) from the OSRM routing graph.\r\n\r\nThis is an alternative implementation to https://github.com/Project-OSRM/osrm-backend/pull/2477 that does not need to load the node-based-graph into memory - instead, it derives a temporary edge-based-graph from the CH.  It's not super fast, but it works :-)\r\n\r\nIt functions as follows:\r\n\r\n  1. Calculates a maximum bounding box for the isochrone using the `range` x MAX_SPEED_METERS_PER_SECOND (200km/h for this implementation)\r\n  2. Fetches everything in that box from the RTree\r\n  3. Identifies all the distinct edge-based-nodes returned from the RTree\r\n  4. Uses the start/end node-based-node IDs to identify potentially directly connected edge-based-nodes\r\n  5. Builds a temporary edge-based-graph by testing the potentially directly connected edge-based-nodes in the CH\r\n  6. Performs a Dijkstra search on the temporary edge-based-graph, terminating when all possible paths up to `range` have been explored\r\n  7.  Returns the result\r\n\r\n![2017-02-04 00_00_48](https://cloud.githubusercontent.com/assets/1892250/22616915/0613c8d8-ea6d-11e6-915d-0965b6058bdd.gif)\r\n\r\nUsage is:\r\n\r\n```\r\n/isochrone/v1/driving/{lon},{lat}?range={seconds}\r\n```\r\n\r\nA 300 second isochrone on the `car` profile takes about 350ms to return.\r\n\r\nCurrently, the plugin returns a GeoJSON `FeatureCollection` for every edge-based-node geometry within the `range`.\r\n\r\n## TODO:\r\n\r\n - [ ] add a `type` parameter, and support:\r\n    - [ ] `exact` - return a custom JSON structure for the full isochrone tree\r\n    - [ ] `points` - return a big GeoJSON `FeatureCollection` of `Point` features with distance/duration for each point, for use with third-party topography tools, like [gdal_contour](http://www.gdal.org/gdal_contour.html)\r\n    - [ ] `polygon` - return the boundary polygon for the isochrone (TODO: what type? convex? concave? other params?)\r\n - [ ] add flag to limit isochrone max range (big isochrones get really expensive)\r\n - [ ] review\r\n - [ ] adjust for comments"},"comment":{"url":"https://api.github.com/repos/Project-OSRM/osrm-backend/issues/comments/362614562","html_url":"https://github.com/Project-OSRM/osrm-backend/pull/3652#issuecomment-362614562","issue_url":"https://api.github.com/repos/Project-OSRM/osrm-backend/issues/3652","id":362614562,"user":{"login":"geography","id":1279559,"avatar_url":"https://avatars1.githubusercontent.com/u/1279559?v=4","gravatar_id":"","url":"https://api.github.com/users/geography","html_url":"https://github.com/geography","followers_url":"https://api.github.com/users/geography/followers","following_url":"https://api.github.com/users/geography/following{/other_user}","gists_url":"https://api.github.com/users/geography/gists{/gist_id}","starred_url":"https://api.github.com/users/geography/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geography/subscriptions","organizations_url":"https://api.github.com/users/geography/orgs","repos_url":"https://api.github.com/users/geography/repos","events_url":"https://api.github.com/users/geography/events{/privacy}","received_events_url":"https://api.github.com/users/geography/received_events","type":"User","site_admin":false},"created_at":"2018-02-02T15:17:50Z","updated_at":"2018-02-02T15:17:50Z","author_association":"NONE","body":"Hi all, any news about this plugin?"}}
{"actor":{"display_login":"geography"}}