{"action":"created","comment":{"url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/pulls/comments/30209085","id":30209085,"diff_hunk":"@@ -2,7 +2,7 @@\n \n import java.util.Map.Entry;\n \n-public class ResultSetDelta extends ResultSetWithTimes {\n+public class ResultSetDelta extends ResultSet {","path":"src/main/java/org/opentripplanner/analyst/ResultSetDelta.java","position":5,"original_position":5,"commit_id":"42357ee44fe59455063a5eea4af1707bc9b09eed","original_commit_id":"42357ee44fe59455063a5eea4af1707bc9b09eed","user":{"login":"abyrd","id":112871,"avatar_url":"https://avatars.githubusercontent.com/u/112871?v=3","gravatar_id":"","url":"https://api.github.com/users/abyrd","html_url":"https://github.com/abyrd","followers_url":"https://api.github.com/users/abyrd/followers","following_url":"https://api.github.com/users/abyrd/following{/other_user}","gists_url":"https://api.github.com/users/abyrd/gists{/gist_id}","starred_url":"https://api.github.com/users/abyrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abyrd/subscriptions","organizations_url":"https://api.github.com/users/abyrd/orgs","repos_url":"https://api.github.com/users/abyrd/repos","events_url":"https://api.github.com/users/abyrd/events{/privacy}","received_events_url":"https://api.github.com/users/abyrd/received_events","type":"User","site_admin":false},"body":"This class needs some javadoc. It's possible to guess from the name what it does, but where it's used, why, and how it works are less obvious.","created_at":"2015-05-13T07:59:51Z","updated_at":"2015-05-13T07:59:51Z","html_url":"https://github.com/opentripplanner/OpenTripPlanner/pull/1922#discussion_r30209085","pull_request_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/pulls/1922","_links":{"self":{"href":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/pulls/comments/30209085"},"html":{"href":"https://github.com/opentripplanner/OpenTripPlanner/pull/1922#discussion_r30209085"},"pull_request":{"href":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/pulls/1922"}}},"pull_request":{"url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/pulls/1922","id":35018464,"html_url":"https://github.com/opentripplanner/OpenTripPlanner/pull/1922","diff_url":"https://github.com/opentripplanner/OpenTripPlanner/pull/1922.diff","patch_url":"https://github.com/opentripplanner/OpenTripPlanner/pull/1922.patch","issue_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/issues/1922","number":1922,"state":"open","locked":false,"title":"Repeated RAPTOR profile routing","user":{"login":"mattwigway","id":566958,"avatar_url":"https://avatars.githubusercontent.com/u/566958?v=3","gravatar_id":"","url":"https://api.github.com/users/mattwigway","html_url":"https://github.com/mattwigway","followers_url":"https://api.github.com/users/mattwigway/followers","following_url":"https://api.github.com/users/mattwigway/following{/other_user}","gists_url":"https://api.github.com/users/mattwigway/gists{/gist_id}","starred_url":"https://api.github.com/users/mattwigway/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattwigway/subscriptions","organizations_url":"https://api.github.com/users/mattwigway/orgs","repos_url":"https://api.github.com/users/mattwigway/repos","events_url":"https://api.github.com/users/mattwigway/events{/privacy}","received_events_url":"https://api.github.com/users/mattwigway/received_events","type":"User","site_admin":false},"body":"Add the repeated RAPTOR profile router as well as a round-based profile router for pure frequency networks.\r\n\r\nOther changes made along the way:\r\n\r\n- Rewrite transit stop linking code from scratch, with an eye towards making it deterministic regardless of what order stops load in, or whether there are added stops (this is important when comparing two graphs in Analyst)\r\n- Merge ResultSet and ResultSetWithTimes; ResultSet now has a times field that is left null if times are not requested (ResultSetWithTimes no longer exists, so this changes the Java API).\r\n- Link origins and destinations using samples in Analyst.\r\n- Mark vertices that have come from OSM as OsmVertices (as opposed to splitter vertices etc.)\r\n- Use a special class SplitterVertex for splittervertices so that they can easily be identified.\r\n- Add a weighting function to Histogram (in ResultSets) that defaults to a logistic (sigmoidal) falloff about five minutes wide, so that large blocks moving a few seconds between runs has less effect. One can think of this rolloff as representing the uncertainty of reaching destinations near the time limit, or as the fact that the sharp cutoff is artificial.\r\n- Use least-walk dominance function for building stop tree caches and initial stop searches, so that the same function is used to optimize everything (we store distances and then convert them to times with the walkSpeed, so it's important to optimize on distance not time including turn costs etc.)\r\n- Fix equirectangular projection use in samples.\r\n- Samples link to nearest two OSM nodes deterministically. If they are at a point where the linking would be nondeterministic, they are shifted slightly northeast until they are not.\r\n- New unit test for new linker that makes sure that two graphs with overlapping but not identical stop sets have identical linking for the stops that they have in common.\r\n\r\nAll automated tests pass, and I've tested it through the OTP UI. I don't know where there is a bike park and ride, so I haven't tested to ensure those are linked properly; I'm not sure if there's an automated test for that. (I suspect not; the linking code didn't have a lot of test coverage).","created_at":"2015-05-08T15:20:00Z","updated_at":"2015-05-13T07:59:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"64e849c39994ed74fea702f3314b848e04ab0c73","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/pulls/1922/commits","review_comments_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/pulls/1922/comments","review_comment_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/pulls/comments{/number}","comments_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/issues/1922/comments","statuses_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/statuses/42357ee44fe59455063a5eea4af1707bc9b09eed","head":{"label":"opentripplanner:raptor-new","ref":"raptor-new","sha":"42357ee44fe59455063a5eea4af1707bc9b09eed","user":{"login":"opentripplanner","id":3007066,"avatar_url":"https://avatars.githubusercontent.com/u/3007066?v=3","gravatar_id":"","url":"https://api.github.com/users/opentripplanner","html_url":"https://github.com/opentripplanner","followers_url":"https://api.github.com/users/opentripplanner/followers","following_url":"https://api.github.com/users/opentripplanner/following{/other_user}","gists_url":"https://api.github.com/users/opentripplanner/gists{/gist_id}","starred_url":"https://api.github.com/users/opentripplanner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opentripplanner/subscriptions","organizations_url":"https://api.github.com/users/opentripplanner/orgs","repos_url":"https://api.github.com/users/opentripplanner/repos","events_url":"https://api.github.com/users/opentripplanner/events{/privacy}","received_events_url":"https://api.github.com/users/opentripplanner/received_events","type":"Organization","site_admin":false},"repo":{"id":2067253,"name":"OpenTripPlanner","full_name":"opentripplanner/OpenTripPlanner","owner":{"login":"opentripplanner","id":3007066,"avatar_url":"https://avatars.githubusercontent.com/u/3007066?v=3","gravatar_id":"","url":"https://api.github.com/users/opentripplanner","html_url":"https://github.com/opentripplanner","followers_url":"https://api.github.com/users/opentripplanner/followers","following_url":"https://api.github.com/users/opentripplanner/following{/other_user}","gists_url":"https://api.github.com/users/opentripplanner/gists{/gist_id}","starred_url":"https://api.github.com/users/opentripplanner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opentripplanner/subscriptions","organizations_url":"https://api.github.com/users/opentripplanner/orgs","repos_url":"https://api.github.com/users/opentripplanner/repos","events_url":"https://api.github.com/users/opentripplanner/events{/privacy}","received_events_url":"https://api.github.com/users/opentripplanner/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/opentripplanner/OpenTripPlanner","description":"An open source multi-modal trip planner","fork":false,"url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner","forks_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/forks","keys_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/keys{/key_id}","collaborators_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/teams","hooks_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/hooks","issue_events_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/issues/events{/number}","events_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/events","assignees_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/assignees{/user}","branches_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/branches{/branch}","tags_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/tags","blobs_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/git/refs{/sha}","trees_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/git/trees{/sha}","statuses_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/statuses/{sha}","languages_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/languages","stargazers_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/stargazers","contributors_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/contributors","subscribers_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/subscribers","subscription_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/subscription","commits_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/commits{/sha}","git_commits_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/git/commits{/sha}","comments_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/comments{/number}","issue_comment_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/issues/comments{/number}","contents_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/contents/{+path}","compare_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/compare/{base}...{head}","merges_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/merges","archive_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/downloads","issues_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/issues{/number}","pulls_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/pulls{/number}","milestones_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/milestones{/number}","notifications_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/labels{/name}","releases_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/releases{/id}","created_at":"2011-07-18T16:15:38Z","updated_at":"2015-05-10T21:23:28Z","pushed_at":"2015-05-12T16:43:01Z","git_url":"git://github.com/opentripplanner/OpenTripPlanner.git","ssh_url":"git@github.com:opentripplanner/OpenTripPlanner.git","clone_url":"https://github.com/opentripplanner/OpenTripPlanner.git","svn_url":"https://github.com/opentripplanner/OpenTripPlanner","homepage":"http://www.opentripplanner.org","size":205013,"stargazers_count":686,"watchers_count":686,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":328,"mirror_url":null,"open_issues_count":557,"forks":328,"open_issues":557,"watchers":686,"default_branch":"master"}},"base":{"label":"opentripplanner:master","ref":"master","sha":"e82ea8f099b39e9b418031e19d413af8d5faec82","user":{"login":"opentripplanner","id":3007066,"avatar_url":"https://avatars.githubusercontent.com/u/3007066?v=3","gravatar_id":"","url":"https://api.github.com/users/opentripplanner","html_url":"https://github.com/opentripplanner","followers_url":"https://api.github.com/users/opentripplanner/followers","following_url":"https://api.github.com/users/opentripplanner/following{/other_user}","gists_url":"https://api.github.com/users/opentripplanner/gists{/gist_id}","starred_url":"https://api.github.com/users/opentripplanner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opentripplanner/subscriptions","organizations_url":"https://api.github.com/users/opentripplanner/orgs","repos_url":"https://api.github.com/users/opentripplanner/repos","events_url":"https://api.github.com/users/opentripplanner/events{/privacy}","received_events_url":"https://api.github.com/users/opentripplanner/received_events","type":"Organization","site_admin":false},"repo":{"id":2067253,"name":"OpenTripPlanner","full_name":"opentripplanner/OpenTripPlanner","owner":{"login":"opentripplanner","id":3007066,"avatar_url":"https://avatars.githubusercontent.com/u/3007066?v=3","gravatar_id":"","url":"https://api.github.com/users/opentripplanner","html_url":"https://github.com/opentripplanner","followers_url":"https://api.github.com/users/opentripplanner/followers","following_url":"https://api.github.com/users/opentripplanner/following{/other_user}","gists_url":"https://api.github.com/users/opentripplanner/gists{/gist_id}","starred_url":"https://api.github.com/users/opentripplanner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opentripplanner/subscriptions","organizations_url":"https://api.github.com/users/opentripplanner/orgs","repos_url":"https://api.github.com/users/opentripplanner/repos","events_url":"https://api.github.com/users/opentripplanner/events{/privacy}","received_events_url":"https://api.github.com/users/opentripplanner/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/opentripplanner/OpenTripPlanner","description":"An open source multi-modal trip planner","fork":false,"url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner","forks_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/forks","keys_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/keys{/key_id}","collaborators_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/teams","hooks_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/hooks","issue_events_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/issues/events{/number}","events_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/events","assignees_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/assignees{/user}","branches_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/branches{/branch}","tags_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/tags","blobs_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/git/refs{/sha}","trees_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/git/trees{/sha}","statuses_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/statuses/{sha}","languages_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/languages","stargazers_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/stargazers","contributors_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/contributors","subscribers_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/subscribers","subscription_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/subscription","commits_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/commits{/sha}","git_commits_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/git/commits{/sha}","comments_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/comments{/number}","issue_comment_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/issues/comments{/number}","contents_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/contents/{+path}","compare_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/compare/{base}...{head}","merges_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/merges","archive_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/downloads","issues_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/issues{/number}","pulls_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/pulls{/number}","milestones_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/milestones{/number}","notifications_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/labels{/name}","releases_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/releases{/id}","created_at":"2011-07-18T16:15:38Z","updated_at":"2015-05-10T21:23:28Z","pushed_at":"2015-05-12T16:43:01Z","git_url":"git://github.com/opentripplanner/OpenTripPlanner.git","ssh_url":"git@github.com:opentripplanner/OpenTripPlanner.git","clone_url":"https://github.com/opentripplanner/OpenTripPlanner.git","svn_url":"https://github.com/opentripplanner/OpenTripPlanner","homepage":"http://www.opentripplanner.org","size":205013,"stargazers_count":686,"watchers_count":686,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":328,"mirror_url":null,"open_issues_count":557,"forks":328,"open_issues":557,"watchers":686,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/pulls/1922"},"html":{"href":"https://github.com/opentripplanner/OpenTripPlanner/pull/1922"},"issue":{"href":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/issues/1922"},"comments":{"href":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/issues/1922/comments"},"review_comments":{"href":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/pulls/1922/comments"},"review_comment":{"href":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/pulls/1922/commits"},"statuses":{"href":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/statuses/42357ee44fe59455063a5eea4af1707bc9b09eed"}}}}