{"id":331041,"name":"biclaR","description":"A tool for the design and assessment of different scenarios of the cycling network models in the Lisbon metropolitan area.","url":"https://github.com/u-shift/biclar","last_synced_at":"2026-06-12T13:30:21.098Z","repository":{"id":38196392,"uuid":"280175410","full_name":"U-Shift/biclar","owner":"U-Shift","description":"Strategic cycle network planning tools, evidence and reproducible code","archived":false,"fork":false,"pushed_at":"2025-02-13T15:48:52.000Z","size":112097,"stargazers_count":7,"open_issues_count":7,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-06-05T10:02:30.977Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://u-shift.github.io/biclar/","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/U-Shift.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-07-16T14:27:40.000Z","updated_at":"2026-03-24T02:22:48.000Z","dependencies_parsed_at":"2024-08-22T12:22:53.332Z","dependency_job_id":"c823df53-a4ae-4f8a-8198-86dfda8f2e0f","html_url":"https://github.com/U-Shift/biclar","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/U-Shift/biclar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/U-Shift%2Fbiclar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/U-Shift%2Fbiclar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/U-Shift%2Fbiclar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/U-Shift%2Fbiclar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/U-Shift","download_url":"https://codeload.github.com/U-Shift/biclar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/U-Shift%2Fbiclar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34105565,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"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"}},"owner":{"login":"U-Shift","name":"U-Shift lab","uuid":"67201314","kind":"organization","description":"Mobility research lab at Instituto Superior Técnico - University of Lisbon","email":"ushift@tecnico.ulisboa.pt","website":"ushift.tecnico.ulisboa.pt","location":"Lisbon, Portugal","twitter":"u_shift","company":null,"icon_url":"https://avatars.githubusercontent.com/u/67201314?v=4","repositories_count":11,"last_synced_at":"2024-05-12T08:41:37.431Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/U-Shift","funding_links":[],"total_stars":67,"followers":14,"following":0,"created_at":"2022-11-14T21:03:51.078Z","updated_at":"2024-05-12T08:41:42.642Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/U-Shift","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/U-Shift/repositories"},"packages":[],"commits":{"id":11544454,"full_name":"u-shift/biclar","default_branch":"master","total_commits":355,"total_committers":2,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":177.5,"dds":0.19718309859154926,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-06-09T12:01:22.001Z","last_synced_commit":"25ac45d1676b2a016db1240467354d1bef3d3071","created_at":"2025-10-28T00:07:22.645Z","updated_at":"2026-06-09T12:01:21.673Z","committers":[{"name":"temospena","email":"temospena@gmail.com","login":"temospena","count":285},{"name":"Robin Lovelace","email":"rob00x@gmail.com","login":"Robinlovelace","count":70}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/u-shift%2Fbiclar/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-11T00:00:09.886Z","repositories_count":6255660,"commits_count":882836702,"contributors_count":35049437,"owners_count":1164588,"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":"U-Shift/biclar","html_url":"https://github.com/U-Shift/biclar","last_synced_at":"2026-06-07T11:00:37.338Z","status":"error","issues_count":42,"pull_requests_count":16,"avg_time_to_close_issue":7695406.657142857,"avg_time_to_close_pull_request":70942.8125,"issues_closed_count":35,"pull_requests_closed_count":16,"pull_request_authors_count":2,"issue_authors_count":2,"avg_comments_per_issue":2.380952380952381,"avg_comments_per_pull_request":0.1875,"merged_pull_requests_count":11,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":451.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":4.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"created_at":"2024-05-12T08:41:37.195Z","updated_at":"2026-06-07T11:00:37.339Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/U-Shift%2Fbiclar","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/U-Shift%2Fbiclar/issues","issue_labels_count":{"help wanted":2,"solve by itself":1},"pull_request_labels_count":{},"issue_author_associations_count":{"COLLABORATOR":22,"MEMBER":20},"pull_request_author_associations_count":{"COLLABORATOR":12,"MEMBER":4},"issue_authors":{"Robinlovelace":22,"temospena":20},"pull_request_authors":{"Robinlovelace":12,"temospena":4},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-09T00:00:17.805Z","repositories_count":14786620,"issues_count":33486152,"pull_requests_count":110234621,"authors_count":11297177,"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":34,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Robinlovelace"},{"login":"temospena","count":24,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/temospena"}],"active_maintainers":[]},"events":{"total":{"DeleteEvent":1,"PullRequestEvent":2,"ForkEvent":1,"IssuesEvent":3,"WatchEvent":3,"IssueCommentEvent":4,"PushEvent":15,"PullRequestReviewEvent":1,"CreateEvent":1},"last_year":{"WatchEvent":1}},"keywords":[],"dependencies":[{"ecosystem":"cran","filepath":"DESCRIPTION","sha":null,"kind":"manifest","created_at":"2022-08-18T18:11:36.932Z","updated_at":"2022-08-18T18:11:36.932Z","repository_link":"https://github.com/U-Shift/biclar/blob/master/DESCRIPTION","dependencies":[{"id":1932178852,"package_name":"R","ecosystem":"cran","requirements":"\u003e= 2.10","direct":true,"kind":"depends","optional":false},{"id":1932178853,"package_name":"od","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1932178854,"package_name":"stplanr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1932178855,"package_name":"cols4all","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1932178856,"package_name":"rmarkdown","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pkgdown.yaml","sha":null,"kind":"manifest","created_at":"2023-01-29T22:15:54.081Z","updated_at":"2023-01-29T22:15:54.081Z","repository_link":"https://github.com/U-Shift/biclar/blob/master/.github/workflows/pkgdown.yaml","dependencies":[{"id":7233080104,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7233080105,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7233080106,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7233080107,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7233080108,"package_name":"JamesIves/github-pages-deploy-action","ecosystem":"actions","requirements":"4.1.4","direct":true,"kind":"composite","optional":false}]}],"score":3.332204510175204,"created_at":"2025-10-28T00:06:24.234Z","updated_at":"2026-06-12T13:30:21.102Z","avatar_url":"https://github.com/U-Shift.png","language":"TeX","category":"Consumption","sub_category":"Mobility and Transportation","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"---\noutput: github_document\nbibliography:\n  - refs.bib\n  - biclar.bib\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  echo = FALSE,\n  message = FALSE,\n  warning = FALSE,\n  out.width = \"100%\"\n)\n```\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, include = FALSE}\nlibrary(sf)\n```\n\n# biclaR\n\n\u003c!-- badges: start --\u003e\n\n\u003c!-- badges: end --\u003e\n\n**biclaR** is a tool for the design and assessment of different scenarios of the cycling network models in the Lisbon metropolitan area (LMA).\nThe web application can be found at [u-shift.github.io/biclarwww](https://u-shift.github.io/biclarwww/).\n\n**biclaR** is an open source project, see the source code on [github.com/U-Shift/biclar](https://github.com/U-Shift/biclar).\n\nFor a description of the methods and research underlying the project, see the [paper](https://www.sciencedirect.com/science/article/pii/S0198971524001595) \"Reproducible methods for modeling combined public transport and cycling trips and associated benefits: Evidence from the biclaR tool\" published in *Computers, Environment and Urban Systems* [@felix_reproducible_2025], and the methodological report [PT] on the [TML website](https://www.tmlmobilidade.pt/projetos-e-atividades/planos-e-estudos/rede-ciclavel-metropolitana-estudo-modelacao-e-ferramenta-de-apoio-ao-planeamento-e-decisao/).\n\n# Input data\n\nThe key datasets are as follows:\n\n-   Trips dataset with Origin and Destination, at *Freguesia* level, disaggregated by transport mode, from @IMOB\\\n-   [CAOP 2020](https://www.dgterritorio.gov.pt/cartografia/cartografia-tematica/caop?language=en) - Official limits of Portuguese areas.\n-   Road network from [OpenStreetMap](https://www.openstreetmap.org/#map=11/38.7053/-9.1585)\\\n-   Main public transport interfaces at Lisbon Metropolitan Area, provided by [Transportes Metropolitanos de Lisboa](https://www.tmlmobilidade.pt/)\n\n# Cenarios for cycling uptake\n\n## Baseline\n\nThe baseline scenario makes use of the 2018 mobility survey data in LMA.\\\nWe considered all trips between *Freguesias*.\n\n\u003c!-- todo: include map of baseline scenario --\u003e\n\nSee vignette [baseline scenario](articles/0_baseline_scenario.html) to see how this was modeled.\n\n## ENMAC targets\n\nThe National targets for cycling uptake were set to:\n\n-   4% of all trips should be made by bicycle by 2025\n-   10% of all trips should be made by bicycle by 2030\n\nCycling trips should replace car trips directly.\n\nSee vignette [ENMAC scenario](articles/1_emnac_scenario.html) to see how this was modeled.\n\n## Intermodal trips\n\nSee vignette [Intermodal scenario](articles/2_intermodal_scenario.html) to see how this was modeled.\n\n## E-bikes investment policy\n\nSee vignette [E-bike scenario](articles/3_ebikes_scenario.html) to see how this was modeled.\n\n# Methods\n\n## PCT - Propensity to Cycle Tool\n\n`biclar` uses the methods developed in [PCT.bike](https://pct.bike) [@Lovelace2017] for cycling uptake estimation and data visualization.\n\n## Jittering\n\nFor the disagregation of OD pairs at *Freguesias* level, we use [OD Jittering](https://github.com/atumworld/odrust) [@Jittering2022] method, which better suits walking and cycling trips modelling (shorter distances), instead of relying on centroids that concentrate all the trips between areas.\n\nThe OD datasets, before and after jittering, are shown below.\n\n```{r}\nod_all = readRDS(\"TRIPSmode_freguesias.Rds\")\nzones = readRDS(\"FREGUESIASgeo.Rds\")\nod_all_sf = od::od_to_sf(od_all, zones)\nod_all_jittered = readRDS(\"od_all_jittered_50.Rds\")\n```\n\n```{r jitteredoverview, out.width=\"50%\", fig.show='hold'}\nplot(od_all_sf$geometry, lwd = 0.2)\nplot(od_all_jittered$geometry, lwd = 0.1)\n```\n\n## Cycling routes\n\nUse of [CyclingStreets.net](https://cyclinstreets.net) ([R package](https://rpackage.cyclestreets.net/)) for fast and quiet bike routes for baseline scenario.\n\nFor e-bike scenario, we developed a proper algorithm, considering the topography, and using [`slopes`](https://docs.ropensci.org/slopes) package.\n\n## Intermodal trips\n\nWe made use and developed a [methodology](https://github.com/npct/rail) that considers replacing long trips by bike + train or ferry trips.\n\n## Estimation of socioeconomic benefits\n\nHealth Economic Assessment Tool ([HEAT v5.0](https://www.heatwalkingcycling.org/#how_heat_works)) for walking and cycling by WHO.\n\n# Results\n\n## Cycling uptake in LMA and by Municipality\n\n#### ENMAC Scenario up to 5km\n\nSee [here](https://u-shift.github.io/biclarwww/aml/mapa_cenario1.html) for full map.\n\n\u003c!--iframe src=\"https://u-shift.github.io/biclarwww/lisboa/mapa_cenario1.html\" width=\"800\" height=\"400px\" data-external=\"1\"--\u003e\n\n\u003c!--/iframe--\u003e\n\n```{r echo=FALSE}\nknitr::include_graphics(\"man/figures/clipboard-917840690.png\")\n```\n\nSee [here](https://u-shift.github.io/biclarwww/) for results for each Municipality.\n\n#### ENMAC Scenario up to 10km (E-bike)\n\nSee [here](https://u-shift.github.io/biclarwww/aml/mapa_cenario2.html) for full map.\n\n\u003c!--iframe src=\"https://u-shift.github.io/biclarwww/lisboa/mapa_cenario2.html\" width=\"800\" height=\"400px\" data-external=\"1\"--\u003e\n\n\u003c!--/iframe--\u003e\n\n```{r echo=FALSE}\nknitr::include_graphics(\"man/figures/clipboard-2091156617.png\")\n```\n\n#### Intermodality Scenario\n\nSee [here](https://u-shift.github.io/biclarwww/aml/mapa_cenario3.html) for full map.\n\n\u003c!--iframe src=\"https://u-shift.github.io/biclarwww/lisboa/mapa_cenario3.html\" width=\"800\" height=\"400px\" data-external=\"1\"--\u003e\n\n\u003c!--/iframe--\u003e\n\n```{r echo=FALSE}\nknitr::include_graphics(\"man/figures/clipboard-1852439731.png\")\n```\n\n## Comparision with the cycling network plans by Municipality\n\nCompare the modeled cycling networks (segments overlapping) with expansion plans, by municipality.\n\n\u003c!-- todo: this is too heavy --\u003e\n\n```{r eval=FALSE, message=FALSE, warning=FALSE, include=FALSE}\nplanned_network = sf::st_read(\"https://github.com/U-Shift/biclar/releases/download/0.0.1/CyclingPlans2021.gpkg\", quiet = TRUE)\n\nexisting_network = sf::st_read(\"https://github.com/U-Shift/biclar/releases/download/0.0.1/CyclingNetwork2021.gpkg\", quiet = TRUE)\n\ngreens2 = c(\"#1A7832\", \"#AFD4A0\") #color pal\n\nlibrary(tmap)\ntmap_mode(\"view\")\ntm_layout(title = \"Existing and planned cycling networkn in LMA\", panel.show = T) +\n  tm_add_legend(\"fill\",\n                labels = \"Planned\",\n                col = \"#E3879E\",\n                z = 3) +\ntm_shape(planned_network) +\n  tm_sf(lwd = 1.5,\n        #   color = \"pink\",\n        col = \"#E3879E\",\n        lty = \"dashed\",\n        alpha = 0.8 ,\n        legend.show = T,\n        title.col = \"Planned\") +\ntm_shape(existing_network) +\n  tm_sf(col = \"Tipologia\",\n           lwd = 2.5,\n           palette = greens2,\n        title.col = \"Existing by typology\",\n        popup.vars = c(\n      \"Município\" = \"Municipio\",\n      \"Tipologia\" = \"Tipologia\",\n      \"Função\" = \"Funcao\",      \n     \"Sentido\" = \"Sentido\", \n     \"Comprimento\" = \"Lenght\", \n     \"ID\" = \"ID\"\n    ),\n  )\n\n```\n\n```{r echo=FALSE}\nknitr::include_graphics(\"man/figures/existingplanned.png\")\n```\n\nWe can view it in an [interactive map here](https://ushift.tecnico.ulisboa.pt/content/tml/RedeExistentePrevista.html).\n\n# Funding\n\nThis project is funded by [TML - Transportes Metropolitanos de Lisboa](https://www.tmlmobilidade.pt/projetos-e-atividades/planos-e-estudos/rede-ciclavel-metropolitana-estudo-modelacao-e-ferramenta-de-apoio-ao-planeamento-e-decisao/).\n\n# References {.unnumbered}\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/331041","html_url":"https://ost.ecosyste.ms/projects/331041"}