{"id":20140,"name":"PCT","description":"The goal is to increase the accessibility and reproducibility of the data produced by the Propensity to Cycle Tool (PCT).","url":"https://github.com/ITSLeeds/pct","last_synced_at":"2026-04-11T16:30:36.620Z","repository":{"id":45540599,"uuid":"171879990","full_name":"itsleeds/pct","owner":"itsleeds","description":"Get and reproduce data from the Propensity to Cycle Tool (PCT)","archived":false,"fork":false,"pushed_at":"2025-03-04T23:40:37.000Z","size":93244,"stargazers_count":20,"open_issues_count":3,"forks_count":11,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-02-26T23:08:47.437Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://itsleeds.github.io/pct/","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itsleeds.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-02-21T13:48:11.000Z","updated_at":"2025-03-04T23:38:05.000Z","dependencies_parsed_at":"2023-09-21T19:23:10.921Z","dependency_job_id":"7d1a2ddd-794b-4fd5-ae8b-6c9dd28cd529","html_url":"https://github.com/itsleeds/pct","commit_stats":{"total_commits":522,"total_committers":8,"mean_commits":65.25,"dds":"0.22605363984674332","last_synced_commit":"e630464efeaef539b18647b10745b863c9cd9948"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/itsleeds/pct","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsleeds%2Fpct","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsleeds%2Fpct/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsleeds%2Fpct/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsleeds%2Fpct/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itsleeds","download_url":"https://codeload.github.com/itsleeds/pct/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsleeds%2Fpct/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30202507,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T19:07:06.838Z","status":"ssl_error","status_checked_at":"2026-03-06T18:57:34.882Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"ITSLeeds","name":"Institute for Transport Studies","uuid":"22447619","kind":"organization","description":"","email":null,"website":"https://environment.leeds.ac.uk/transport","location":"Leeds, UK","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/22447619?v=4","repositories_count":18,"last_synced_at":"2023-03-02T04:35:15.004Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ITSLeeds","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-12T22:32:11.694Z","updated_at":"2023-03-02T04:35:15.050Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ITSLeeds","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ITSLeeds/repositories"},"packages":[{"id":4126658,"name":"github.com/ITSLeeds/pct","ecosystem":"go","description":"","homepage":null,"licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/ITSLeeds/pct","keywords_array":[],"namespace":"github.com/ITSLeeds","versions_count":4,"first_release_published_at":"2021-11-25T15:31:27.000Z","latest_release_published_at":"2023-05-19T21:00:46.000Z","latest_release_number":"v0.9.9","last_synced_at":"2026-03-06T23:01:21.832Z","created_at":"2022-04-12T15:20:28.632Z","updated_at":"2026-03-06T23:01:21.832Z","registry_url":"https://pkg.go.dev/github.com/ITSLeeds/pct","install_command":"go get github.com/ITSLeeds/pct","documentation_url":"https://pkg.go.dev/github.com/ITSLeeds/pct#section-documentation","metadata":{},"repo_metadata":{"id":45540599,"uuid":"171879990","full_name":"itsleeds/pct","owner":"itsleeds","description":"Get and reproduce data from the Propensity to Cycle Tool (PCT)","archived":false,"fork":false,"pushed_at":"2025-03-04T23:40:37.000Z","size":93244,"stargazers_count":20,"open_issues_count":3,"forks_count":10,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-10-10T23:05:27.188Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://itsleeds.github.io/pct/","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itsleeds.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-02-21T13:48:11.000Z","updated_at":"2025-03-04T23:38:05.000Z","dependencies_parsed_at":"2023-09-21T19:23:10.921Z","dependency_job_id":"7d1a2ddd-794b-4fd5-ae8b-6c9dd28cd529","html_url":"https://github.com/itsleeds/pct","commit_stats":{"total_commits":522,"total_committers":8,"mean_commits":65.25,"dds":"0.22605363984674332","last_synced_commit":"e630464efeaef539b18647b10745b863c9cd9948"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/itsleeds/pct","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsleeds%2Fpct","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsleeds%2Fpct/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsleeds%2Fpct/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsleeds%2Fpct/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itsleeds","download_url":"https://codeload.github.com/itsleeds/pct/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsleeds%2Fpct/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279007468,"owners_count":26084313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"repo_metadata_updated_at":"2025-10-12T13:19:13.702Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":9.345852080216646,"dependent_packages_count":6.999148183520997,"stargazers_count":null,"forks_count":null,"average":8.172500131868823},"purl":"pkg:golang/github.com/%21i%21t%21s%21leeds/pct","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/ITSLeeds/pct","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/ITSLeeds/pct","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/ITSLeeds/pct/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-01T03:05:44.411Z","issues_count":84,"pull_requests_count":42,"avg_time_to_close_issue":24314107.156626508,"avg_time_to_close_pull_request":700339.925,"issues_closed_count":83,"pull_requests_closed_count":40,"pull_request_authors_count":8,"issue_authors_count":13,"avg_comments_per_issue":4.107142857142857,"avg_comments_per_pull_request":1.0476190476190477,"merged_pull_requests_count":33,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/issues","maintainers":[{"login":"Robinlovelace","count":81,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Robinlovelace"},{"login":"layik","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/layik"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FITSLeeds%2Fpct/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FITSLeeds%2Fpct/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FITSLeeds%2Fpct/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FITSLeeds%2Fpct/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FITSLeeds%2Fpct/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2064959,"maintainers_count":0,"namespaces_count":773600,"keywords_count":0,"github":"golang","metadata":{"funded_packages_count":53178},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-03-08T06:42:15.540Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":428915,"name":"pct","ecosystem":"cran","description":"Propensity to Cycle Tool","homepage":"https://itsleeds.github.io/pct/","licenses":"GPL-3","normalized_licenses":["GPL-3.0"],"repository_url":"https://github.com/itsleeds/pct","keywords_array":[],"namespace":null,"versions_count":25,"first_release_published_at":"2019-03-29T18:30:00.000Z","latest_release_published_at":"2025-03-05T00:00:00.000Z","latest_release_number":"0.10.0","last_synced_at":"2026-03-06T23:01:21.190Z","created_at":"2022-04-06T20:19:33.826Z","updated_at":"2026-03-06T23:01:21.190Z","registry_url":"https://cran.r-project.org/package=pct","install_command":null,"documentation_url":"http://cran.r-project.org/web/packages/pct/pct.pdf","metadata":{},"repo_metadata":{"id":45540599,"uuid":"171879990","full_name":"ITSLeeds/pct","owner":"ITSLeeds","description":"Get and reproduce data from the Propensity to Cycle Tool (PCT)","archived":false,"fork":false,"pushed_at":"2023-05-20T08:08:24.000Z","size":92987,"stargazers_count":19,"open_issues_count":3,"forks_count":10,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-06-11T16:05:12.639Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://itsleeds.github.io/pct/","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ITSLeeds.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-02-21T13:48:11.000Z","updated_at":"2023-06-14T11:49:32.000Z","dependencies_parsed_at":"2023-09-21T19:23:10.921Z","dependency_job_id":"7d1a2ddd-794b-4fd5-ae8b-6c9dd28cd529","html_url":"https://github.com/ITSLeeds/pct","commit_stats":{"total_commits":522,"total_committers":8,"mean_commits":65.25,"dds":"0.22605363984674332","last_synced_commit":"e630464efeaef539b18647b10745b863c9cd9948"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ITSLeeds","download_url":"https://codeload.github.com/ITSLeeds/pct/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":216611678,"owners_count":16053619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"ITSLeeds","name":"Institute for Transport Studies","uuid":"22447619","kind":"organization","description":"","email":null,"website":"https://environment.leeds.ac.uk/transport","location":"Leeds, UK","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/22447619?v=4","repositories_count":18,"last_synced_at":"2023-03-02T04:35:15.004Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ITSLeeds","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-12T22:32:11.694Z","updated_at":"2023-03-02T04:35:15.050Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ITSLeeds","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ITSLeeds/repositories"},"tags":[{"name":"v0.9.9","sha":"dddc25011b7a39c581029242aa161f40dde0e121","kind":"commit","published_at":"2023-05-19T21:00:46.000Z","download_url":"https://codeload.github.com/ITSLeeds/pct/tar.gz/v0.9.9","html_url":"https://github.com/ITSLeeds/pct/releases/tag/v0.9.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/v0.9.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/v0.9.9/manifests"},{"name":"v0.9.8","sha":"2842616d30d7850ea35fe9fcc6762ab14b7e9284","kind":"commit","published_at":"2023-02-16T00:16:02.000Z","download_url":"https://codeload.github.com/ITSLeeds/pct/tar.gz/v0.9.8","html_url":"https://github.com/ITSLeeds/pct/releases/tag/v0.9.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/v0.9.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/v0.9.8/manifests"},{"name":"v0.9.7","sha":"9bf713d0c7ab34fed417a063ea52f5acd2fcaffa","kind":"commit","published_at":"2022-12-05T20:19:45.000Z","download_url":"https://codeload.github.com/ITSLeeds/pct/tar.gz/v0.9.7","html_url":"https://github.com/ITSLeeds/pct/releases/tag/v0.9.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/v0.9.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/v0.9.7/manifests"},{"name":"v0.9.4","sha":"68f3d04a585eda47b456c0654f0f2a67258e0ebb","kind":"commit","published_at":"2021-11-25T15:31:27.000Z","download_url":"https://codeload.github.com/ITSLeeds/pct/tar.gz/v0.9.4","html_url":"https://github.com/ITSLeeds/pct/releases/tag/v0.9.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/v0.9.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/v0.9.4/manifests"},{"name":"0.8.1","sha":"2b89c89fa9c5a68a76214f8a9cdf0ebf103a0079","kind":"commit","published_at":"2021-08-24T12:38:23.000Z","download_url":"https://codeload.github.com/ITSLeeds/pct/tar.gz/0.8.1","html_url":"https://github.com/ITSLeeds/pct/releases/tag/0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/0.8.1/manifests"},{"name":"0.8.0","sha":"dd725747c7b092b3a5c9d13559b086635681f19e","kind":"commit","published_at":"2021-04-05T17:50:44.000Z","download_url":"https://codeload.github.com/ITSLeeds/pct/tar.gz/0.8.0","html_url":"https://github.com/ITSLeeds/pct/releases/tag/0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/0.8.0/manifests"},{"name":"0.5.0","sha":"7627d15617e5da406ff373e362220f620e49243e","kind":"commit","published_at":"2020-08-27T07:45:14.000Z","download_url":"https://codeload.github.com/ITSLeeds/pct/tar.gz/0.5.0","html_url":"https://github.com/ITSLeeds/pct/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/0.5.0/manifests"},{"name":"0.2.5","sha":"52aae6b9727d9aeb7572a003217bc375213e507f","kind":"commit","published_at":"2019-08-02T16:48:56.000Z","download_url":"https://codeload.github.com/ITSLeeds/pct/tar.gz/0.2.5","html_url":"https://github.com/ITSLeeds/pct/releases/tag/0.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/0.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/0.2.5/manifests"},{"name":"0.2.4","sha":"77762e4e43887fccf6b69ab222495ef55d3eb854","kind":"commit","published_at":"2019-07-26T04:30:37.000Z","download_url":"https://codeload.github.com/ITSLeeds/pct/tar.gz/0.2.4","html_url":"https://github.com/ITSLeeds/pct/releases/tag/0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/0.2.4/manifests"},{"name":"0.2.2","sha":"f437f92d331e2e8b5e05b2ecaf22c0844288ea5c","kind":"commit","published_at":"2019-06-23T16:41:41.000Z","download_url":"https://codeload.github.com/ITSLeeds/pct/tar.gz/0.2.2","html_url":"https://github.com/ITSLeeds/pct/releases/tag/0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/0.2.2/manifests"},{"name":"0.0.1","sha":"4ab19831b698871ac37294f32995e26f1467a44c","kind":"commit","published_at":"2019-06-17T16:24:58.000Z","download_url":"https://codeload.github.com/ITSLeeds/pct/tar.gz/0.0.1","html_url":"https://github.com/ITSLeeds/pct/releases/tag/0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/tags/0.0.1/manifests"}]},"repo_metadata_updated_at":"2024-09-07T19:39:33.344Z","dependent_packages_count":4,"downloads":571,"downloads_period":"last-month","dependent_repos_count":8,"rankings":{"downloads":14.211758350589717,"dependent_repos_count":10.58791752948591,"dependent_packages_count":9.066354551183938,"stargazers_count":12.235527145043665,"forks_count":6.9010533897542095,"docker_downloads_count":null,"average":10.600522193211487},"purl":"pkg:cran/pct","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/cran/pct","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/cran/pct","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/cran/pct/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-09-07T18:07:28.072Z","issues_count":84,"pull_requests_count":42,"avg_time_to_close_issue":24314107.156626508,"avg_time_to_close_pull_request":700339.925,"issues_closed_count":83,"pull_requests_closed_count":40,"pull_request_authors_count":8,"issue_authors_count":13,"avg_comments_per_issue":4.107142857142857,"avg_comments_per_pull_request":1.0476190476190477,"merged_pull_requests_count":33,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/issues","maintainers":[{"login":"Robinlovelace","count":81,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Robinlovelace"},{"login":"layik","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/layik"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/pct/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/pct/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/pct/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/pct/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/pct/codemeta","maintainers":[{"uuid":"rob00x@gmail.com","login":null,"name":"Robin Lovelace","email":"rob00x@gmail.com","url":null,"packages_count":10,"html_url":null,"role":null,"created_at":"2022-11-14T17:17:08.195Z","updated_at":"2022-11-14T17:17:08.195Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/maintainers/rob00x@gmail.com/packages"}],"registry":{"name":"cran.r-project.org","url":"https://cran.r-project.org","ecosystem":"cran","default":true,"packages_count":27545,"maintainers_count":15265,"namespaces_count":0,"keywords_count":0,"github":"r-project-org","metadata":{"icon_url":"https://cran.r-project.org/CRANlogo.png","funded_packages_count":542},"icon_url":"https://cran.r-project.org/CRANlogo.png","created_at":"2022-04-06T16:32:25.637Z","updated_at":"2026-03-08T06:57:58.301Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/namespaces"}},{"id":4131202,"name":"github.com/itsleeds/pct","ecosystem":"go","description":"","homepage":null,"licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/itsleeds/pct","keywords_array":[],"namespace":"github.com/itsleeds","versions_count":4,"first_release_published_at":"2021-11-25T15:31:27.000Z","latest_release_published_at":"2023-05-19T21:00:46.000Z","latest_release_number":"v0.9.9","last_synced_at":"2026-03-06T23:01:22.107Z","created_at":"2022-04-12T15:46:55.152Z","updated_at":"2026-03-06T23:01:22.107Z","registry_url":"https://pkg.go.dev/github.com/itsleeds/pct","install_command":"go get github.com/itsleeds/pct","documentation_url":"https://pkg.go.dev/github.com/itsleeds/pct#section-documentation","metadata":{},"repo_metadata":{},"repo_metadata_updated_at":"2025-10-12T13:19:13.230Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":9.345852080216646,"dependent_packages_count":6.999148183520997,"stargazers_count":null,"forks_count":null,"average":8.172500131868823},"purl":"pkg:golang/github.com/itsleeds/pct","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/itsleeds/pct","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/itsleeds/pct","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/itsleeds/pct/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fitsleeds%2Fpct/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fitsleeds%2Fpct/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fitsleeds%2Fpct/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fitsleeds%2Fpct/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fitsleeds%2Fpct/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2064959,"maintainers_count":0,"namespaces_count":773600,"keywords_count":0,"github":"golang","metadata":{"funded_packages_count":53178},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-03-08T06:42:15.540Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":721615,"full_name":"ITSLeeds/pct","default_branch":"master","total_commits":528,"total_committers":8,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":66.0,"dds":0.2234848484848485,"past_year_total_commits":6,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":6.0,"past_year_dds":0.0,"last_synced_at":"2026-03-03T17:26:20.279Z","last_synced_commit":"8b68960c60c5e05e782f53e3b259c72ef48f49a6","created_at":"2023-03-09T13:05:01.366Z","updated_at":"2026-03-03T17:25:56.149Z","committers":[{"name":"Robin Lovelace","email":"rob00x@gmail.com","login":"Robinlovelace","count":410},{"name":"Layik Hama","email":"layik.hama@gmail.com","login":"layik","count":82},{"name":"joeytalbot","email":"joeytalbot85@gmail.com","login":"joeytalbot","count":17},{"name":"Nathanael Sheehan","email":"nathanaelsheehan@gmail.com","login":"natesheehan","count":11},{"name":"Malcolm Morgan","email":"mem48","login":"mem48","count":3},{"name":"Haruko Nakao","email":"42297576+HarukoNakao","login":"HarukoNakao","count":2},{"name":"Dustin Carlino","email":"dabreegster@gmail.com","login":"dabreegster","count":2},{"name":"Greta","email":"84614994+GretaTimaite","login":"GretaTimaite","count":1}],"past_year_committers":[{"name":"robinlovelace","email":"rob00x@gmail.com","login":"Robinlovelace","count":6}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-04T00:00:12.294Z","repositories_count":6184573,"commits_count":930632487,"contributors_count":36043938,"owners_count":1146406,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"ITSLeeds/pct","html_url":"https://github.com/ITSLeeds/pct","last_synced_at":"2025-12-19T09:07:33.970Z","status":"error","issues_count":84,"pull_requests_count":42,"avg_time_to_close_issue":24314107.156626508,"avg_time_to_close_pull_request":700339.925,"issues_closed_count":83,"pull_requests_closed_count":40,"pull_request_authors_count":8,"issue_authors_count":13,"avg_comments_per_issue":4.107142857142857,"avg_comments_per_pull_request":1.0476190476190477,"merged_pull_requests_count":33,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-09T10:41:20.066Z","updated_at":"2025-12-19T09:07:33.970Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITSLeeds%2Fpct/issues","issue_labels_count":{"good first issue":1,"enhancement":1},"pull_request_labels_count":{},"issue_author_associations_count":{"MEMBER":64,"NONE":11,"COLLABORATOR":9},"pull_request_author_associations_count":{"CONTRIBUTOR":18,"MEMBER":17,"COLLABORATOR":5,"NONE":2},"issue_authors":{"Robinlovelace":64,"layik":9,"ccamara":1,"temospena":1,"edzer":1,"Yuhei110":1,"Hussein-Mahfouz":1,"ailishgraham":1,"cristitosa":1,"eugenividal":1,"Whissi":1,"mpadge":1,"georgie5995":1},"pull_request_authors":{"Robinlovelace":17,"natesheehan":10,"layik":5,"joeytalbot":4,"ccamara":2,"HarukoNakao":2,"GretaTimaite":1,"dabreegster":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-02-18T00:00:09.706Z","repositories_count":13330169,"issues_count":35320175,"pull_requests_count":114773985,"authors_count":11159836,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"Robinlovelace","count":81,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Robinlovelace"},{"login":"layik","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/layik"}],"active_maintainers":[]},"events":{"total":{"WatchEvent":1,"PushEvent":10},"last_year":{}},"keywords":[],"dependencies":[{"ecosystem":"cran","filepath":"DESCRIPTION","sha":null,"kind":"manifest","created_at":"2022-09-21T12:43:55.952Z","updated_at":"2022-09-21T12:43:55.952Z","repository_link":"https://github.com/itsleeds/pct/blob/master/DESCRIPTION","dependencies":[{"id":5728552955,"package_name":"R","ecosystem":"cran","requirements":"\u003e= 3.5.0","direct":true,"kind":"depends","optional":false},{"id":5728552956,"package_name":"boot","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":5728552957,"package_name":"stplanr","ecosystem":"cran","requirements":"\u003e= 0.2.8","direct":true,"kind":"imports","optional":false},{"id":5728552958,"package_name":"readr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":5728552959,"package_name":"sf","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":5728552960,"package_name":"covr","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":5728552961,"package_name":"curl","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":5728552962,"package_name":"dplyr","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":5728552963,"package_name":"ggplot2","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":5728552964,"package_name":"knitr","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":5728552965,"package_name":"leaflet","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":5728552966,"package_name":"pbapply","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":5728552967,"package_name":"remotes","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":5728552968,"package_name":"rmarkdown","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":5728552969,"package_name":"testthat","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":5728552970,"package_name":"tmap","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":5728552971,"package_name":"bookdown","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":5728552972,"package_name":"tidyverse","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/R-CMD-check.yaml","sha":null,"kind":"manifest","created_at":"2023-01-24T06:31:06.331Z","updated_at":"2023-01-24T06:31:06.331Z","repository_link":"https://github.com/itsleeds/pct/blob/master/.github/workflows/R-CMD-check.yaml","dependencies":[{"id":7134155015,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7134155016,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7134155017,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7134155018,"package_name":"actions/cache","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7134155019,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pkgdown.yaml","sha":null,"kind":"manifest","created_at":"2023-01-24T06:31:06.349Z","updated_at":"2023-01-24T06:31:06.349Z","repository_link":"https://github.com/itsleeds/pct/blob/master/.github/workflows/pkgdown.yaml","dependencies":[{"id":7134155035,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7134155036,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":7134155037,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":7134155038,"package_name":"actions/cache","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pr-commands.yaml","sha":null,"kind":"manifest","created_at":"2023-01-24T06:31:06.370Z","updated_at":"2023-01-24T06:31:06.370Z","repository_link":"https://github.com/itsleeds/pct/blob/master/.github/workflows/pr-commands.yaml","dependencies":[{"id":7134155067,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7134155068,"package_name":"r-lib/actions/pr-fetch","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":7134155069,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":7134155070,"package_name":"r-lib/actions/pr-push","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]}],"score":11.584836740437213,"created_at":"2023-09-11T14:52:10.088Z","updated_at":"2026-04-11T16:30:36.624Z","avatar_url":"https://github.com/itsleeds.png","language":"TeX","category":"Consumption","sub_category":"Mobility and Transportation","monthly_downloads":571,"total_dependent_repos":8,"total_dependent_packages":4,"readme":"---\noutput: github_document\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r setup, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\n```\n\n\u003c!-- badges: start --\u003e\n[![](https://cranlogs.r-pkg.org/badges/grand-total/pct)](https://cran.r-project.org/package=pct)\n[![R build status](https://github.com/itsleeds/pct/workflows/R-CMD-check/badge.svg)](https://github.com/itsleeds/pct/actions)\n[![](https://www.r-pkg.org/badges/version/pct)](https://www.r-pkg.org/pkg/pct)\n[![R-CMD-check](https://github.com/itsleeds/pct/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/itsleeds/pct/actions/workflows/R-CMD-check.yaml)\n\u003c!-- badges: end --\u003e\n\n\u003c!-- [![R build status](https://github.com/itsleeds/pct/workflows/R-CMD-check/badge.svg)](https://github.com/itsleeds/pct/actions) --\u003e\n\n\u003c!-- [![Travis build status](https://travis-ci.org/ITSLeeds/pct.svg?branch=master)](https://travis-ci.org/ITSLeeds/pct) --\u003e\n\n# pct\n\nThe goal of pct is to make the data produced by the Propensity to Cycle Tool (PCT) easier to access and reproduce.\nThe PCT a research project and web application hosted at [www.pct.bike](https://www.pct.bike/).\nFor an overview of the data provided by the PCT, clicking on the previous link and trying it out is a great place to start.\nAn academic [paper](https://www.jtlu.org/index.php/jtlu/article/view/862) on the PCT provides detail on the motivations for and methods underlying the project.\n\nA major motivation behind the project was making transport evidence more accessible, encouraging evidence-based transport policies.\nThe code base underlying the PCT is publicly available (see [github.com/npct](https://github.com/npct/)).\nHowever, the code hosted there is not easy to run or reproduce, which is where this package comes in: it provides quick access to the data underlying the PCT and enables some of the key results to be reproduced quickly.\nIt was developed primarily for educational purposes (including for upcoming PCT training courses) but it may be useful for people to build on the the methods, for example to create a scenario of cycling uptake in their town/city/region.\n\nIn summary, if you want to know how PCT works, be able to reproduce some of its results, and build scenarios of cycling uptake to inform transport policies enabling cycling in cities worldwide, this package is for you!\n\n## Installation\n\n```{r, eval=FALSE}\n# from CRAN\ninstall.packages(\"pct\")\n```\n\nYou can install the development version of the package as follows:\n\n```{r, eval=FALSE}\nremotes::install_github(\"ITSLeeds/pct\")\n```\n\nLoad the package as follows:\n\n```{r}\nlibrary(pct)\n```\n\n## Documentation\n\nProbably the best place to get further information on the PCT is from the package's website at https://itsleeds.github.io/pct/\n\nThere you will find the following vignettes, which we recommend reading, and reproducing and experimenting with the code contained within to deepen your understanding of the code, in the following order:\n\n1. A 'get started' introduction to the PCT and associated R package: https://itsleeds.github.io/pct/articles/pct.html\n1. Getting and using PCT data, an [article](https://itsleeds.github.io/pct/articles/getting.html) showing how to get and use data from the PCT, based on a case study from North Yorkshire\n1. A [training vignette](https://itsleeds.github.io/pct/articles/pct_training.html) providing more detailed guidance on data provided by the PCT package, with interactive exercises based on a case study of the Isle of Wight\n1. A [vignette](https://itsleeds.github.io/pct/articles/cycling-potential-uk.html) show how to use the data provided by the package to estimate cycling uptake in UK cities\n1. A [vignette](https://itsleeds.github.io/pct/articles/pct-international.html) demonstrating the international applicability of the PCT method, with help from this and other R packages\n\nYou will also find there documentation for each of the functions at [itsleeds.github.io/pct/reference/](https://itsleeds.github.io/pct/reference/index.html).\nBelow we describe some of the basics.\n\n## Get PCT data\n\nFrom feedback, we hear that the use of the data is critical in decision making. Therefore, one area where the package could be useful is making the data \"easily\" available to be processed.\n\n* `get_pct`: the basic function to obtain data available  [here](https://itsleeds.github.io/pct/reference/get_pct.html). \n\nThe rest of these should be self explanatory.\n\n* `get_pct_centroids`\n* `get_pct_lines` \n* `get_pct_rnet` \n* `get_pct_routes_fast` \n* `get_pct_routes_quiet` \n* `get_pct_zones` \n* `uptake_pct_godutch` \n* `uptake_pct_govtarget` \n\nFor example, to get the centroids in West Yorkshire:\n\n``` {r centroids}\ncentroids = get_pct_centroids(region = \"west-yorkshire\")\nplot(centroids[, \"geo_name\"])\n```\n\nLikewise to download the desire lines for \"west-yorkshire\":\n\n```{r get_pct_lines}\nlines = get_pct_lines(region = \"west-yorkshire\")\nlines = lines[order(lines$all, decreasing = TRUE), c(\"all\")]\nplot(lines[1:10,], lwd = 4)\n# view the lines on a map\n# mapview::mapview(lines[1:3000, c(\"geo_name1\")])\n```\n\n## Estimate cycling uptake\n\nAn important part of the PCT is its ability to create model scenarios of cycling uptake.\nKey to the PCT uptake model is 'distance decay', meaning that short trips are more likely to be cycled than long trips.\nThe functions `uptake_pct_govtarget()` and `uptake_pct_godutch()` implement uptake models used in the PCT, which use distance and hilliness per desire line as inputs and output the proportion of people who could be expected to cycle if that scenario were realised.\nThe scenarios of cycling uptake produced by these functions are not predictions of what *will* happen, but illustrative snapshots of what *could* happen if overall propensity to cycle reached a certain level.\nThe uptake levels produced by Go Dutch and Government Target scenarios (which represent increases in cycling, not final levels) are illustrated in the graph below (other scenarios could be produced, see the [source code](https://itsleeds.github.io/pct/reference/uptake_pct_govtarget.html) see how these models work):\n\n```{r decay}\nmax_distance = 50\ndistances = 1:max_distance\nmax_hilliness = 5\nhilliness = 0:max_hilliness\nuptake_df = data.frame(\n  distances = rep(distances, times = max_hilliness + 1),\n  hilliness = rep(hilliness, each = max_distance)\n)\np_govtarget = uptake_pct_govtarget(\n    distance = uptake_df$distances,\n    gradient = uptake_df$hilliness\n    )\np_godutch = uptake_pct_godutch(\n    distance = uptake_df$distances,\n    gradient = uptake_df$hilliness\n    )\nuptake_df = rbind(\n  cbind(uptake_df, scenario = \"govtarget\", pcycle = p_govtarget),\n  cbind(uptake_df, scenario = \"godutch\", pcycle = p_godutch)\n)\nlibrary(ggplot2)\nggplot(uptake_df) +\n  geom_line(aes(\n    distances,\n    pcycle,\n    linetype = scenario,\n    colour = as.character(hilliness)\n  )) +\n  scale_color_discrete(\"Gradient (%)\")\n```\n\nThe proportion of trips made by cycling along each origin-destination (OD) pair therefore depends on the trip distance and hilliness.\nThe equivalent plot for hilliness is as follows:\n\n```{r decayhills}\ndistances = c(1, 3, 6, 10, 15, 21)\nhilliness = seq(0, 10, by = 0.2)\nuptake_df = \n  data.frame(\n    expand.grid(distances, hilliness)\n  )\nnames(uptake_df) = c(\"distances\", \"hilliness\")\np_govtarget = uptake_pct_govtarget(\n    distance = uptake_df$distances,\n    gradient = uptake_df$hilliness\n    )\np_godutch = uptake_pct_godutch(\n    distance = uptake_df$distances,\n    gradient = uptake_df$hilliness\n    )\nuptake_df = rbind(\n  cbind(uptake_df, scenario = \"govtarget\", pcycle = p_govtarget),\n  cbind(uptake_df, scenario = \"godutch\", pcycle = p_godutch)\n)\nggplot(uptake_df) +\n  geom_line(aes(\n    hilliness,\n    pcycle,\n    linetype = scenario,\n    colour = formatC(distances, flag = \"0\", width = 2)\n  )) +\n  scale_color_discrete(\"Distance (km)\")\n```\n\nNote: if distances or gradient values appear to be provided in incorrect units, they will automatically be updated:\n\n```{r}\ndistances = uptake_df$distances * 1000\nhilliness = uptake_df$hilliness / 100\nres = uptake_pct_godutch(distances, hilliness, verbose = TRUE)\n```\n\n\nThe main input dataset into the PCT is OD data and, to convert each OD pair into a geographic desire line, geographic zone or centroids.\nTypical input data is provided in packaged datasets `od_leeds` and `zones_leeds`, as shown in the next section.\n\n## Reproduce PCT for Leeds\n\nThis example shows how scenarios of cycling uptake, and how 'distance decay' works (short trips are more likely to be cycled than long trips).\n\nThe input data looks like this (origin-destination data and geographic zone data):\n\n```{r input-data}\nclass(od_leeds)\nod_leeds[c(1:3, 12)]\nclass(zones_leeds)\nzones_leeds[1:3, ]\n```\n\nThe `stplanr` package can be used to convert the non-geographic OD data into geographic desire lines as follows: \n\n```{r desire}\nlibrary(sf)\ndesire_lines = stplanr::od2line(flow = od_leeds, zones = zones_leeds[2])\nplot(desire_lines[c(1:3, 12)])\n```\n\nWe can convert these straight lines into routes with a routing service, e.g.:\n\n```{r}\nsegments_fast = stplanr::route(l = desire_lines, route_fun = cyclestreets::journey)\n```\n\nWe got useful information from this routing operation, we will convert the route segments into complete routes with `dplyr`:\n\n```{r}\nlibrary(dplyr)\nroutes_fast = segments_fast %\u003e% \n  group_by(area_of_residence, area_of_workplace) %\u003e% \n  summarise(\n    all = unique(all),\n    bicycle = unique(bicycle),\n    length = sum(distances),\n    av_incline = mean(gradient_smooth) * 100\n  ) \n```\n\nThe results at the route level are as follows:\n\n```{r routes_fast}\nplot(routes_fast)\n```\n\nNow we estimate cycling uptake:\n\n```{r}\nroutes_fast$uptake = uptake_pct_govtarget(distance = routes_fast$length, gradient = routes_fast$av_incline)\nroutes_fast$bicycle_govtarget = routes_fast$bicycle +\n  round(routes_fast$uptake * routes_fast$all)\n```\n\nLet's see how many people started cycling:\n\n```{r}\nsum(routes_fast$bicycle_govtarget) - sum(routes_fast$bicycle)\n```\n\nNearly 1000 more people cycling to work, just in 10 desire is not bad!\nWhat % cycling is this, for those routes?\n\n```{r}\nsum(routes_fast$bicycle_govtarget) / sum(routes_fast$all)\nsum(routes_fast$bicycle) / sum(routes_fast$all)\n```\n\nIt's gone from 4% to 11%, a realistic increase if cycling were enabled by good infrastructure and policies.\n\nNow: where to prioritise that infrastructure and those policies?\n\n```{r, eval=FALSE, echo=FALSE}\nsummary(sf::st_geometry_type(routes_fast))\n```\n\n\n```{r rnetgove, message=FALSE}\nroutes_fast_linestrings = sf::st_cast(routes_fast, \"LINESTRING\")\nrnet = stplanr::overline(routes_fast_linestrings, attrib = c(\"bicycle\", \"bicycle_govtarget\"))\nlwd = rnet$bicycle_govtarget / mean(rnet$bicycle_govtarget)\nplot(rnet[\"bicycle_govtarget\"], lwd = lwd)\n```\n\nWe can view the results in an interactive map and share with policy makers, stakeholders, and the public!\nE.g. (see interactive map [here](https://rpubs.com/RobinLovelace/474074)):\n\n```{r, eval=FALSE}\nmapview::mapview(rnet, zcol = \"bicycle_govtarget\", lwd = lwd * 2)\n```\n\n![](https://raw.githubusercontent.com/ITSLeeds/pct/master/pct-leeds-demo.png)\n\n## Limitations\n\n* This package does not contain code to estimate cycling uptake associated with intrazonal flows and people with no fixed job data, although the datasets downloaded with the `get_pct_centroids()` functions provide estimated uptake for intrazonal flows.\n* This package currently does not contiain code to estimate health benefits\n\n\u003c!-- Commented out as we have now immediate plans to work on these --\u003e\n\u003c!-- ## Next steps and further resources --\u003e\n\n\u003c!-- - Add additional scenarios of cycling uptake from different places (e.g. goCambridge) --\u003e\n\u003c!-- - Add additional distance decay functions --\u003e\n\u003c!-- - Make it easy to use data from other cities around the world --\u003e\n\u003c!-- - Show how to create raster tiles of cycling uptake --\u003e\n \n## Testing the package\n\nTest the package with the following code:\n\n```{r, eval=FALSE}\nremotes::install_github(\"ITSLeeds/pct\")\ndevtools::check()\n```\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["cycling","routing","walking","maplibre","transportation-planning","transportation","geo","shortest-paths","geography","biking"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/20140","html_url":"https://ost.ecosyste.ms/projects/20140"}