{"id":16691094,"url":"https://github.com/dennisosrm/toolbox-rs","last_synced_at":"2026-03-15T21:12:27.812Z","repository":{"id":36963407,"uuid":"458803799","full_name":"DennisOSRM/toolbox-rs","owner":"DennisOSRM","description":"toolbox of basic data structures and algorithms","archived":false,"fork":false,"pushed_at":"2025-04-04T20:30:31.000Z","size":822,"stargazers_count":25,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-04T21:31:58.855Z","etag":null,"topics":["algorithms-and-data-structures","geospatial","mapping"],"latest_commit_sha":null,"homepage":"https://dennisosrm.github.io/toolbox-rs/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DennisOSRM.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2022-02-13T12:33:38.000Z","updated_at":"2025-04-04T20:29:12.000Z","dependencies_parsed_at":"2023-09-24T09:48:58.063Z","dependency_job_id":"649c0c65-d419-4f54-91b7-470d3b3dd477","html_url":"https://github.com/DennisOSRM/toolbox-rs","commit_stats":{"total_commits":535,"total_committers":6,"mean_commits":89.16666666666667,"dds":"0.33644859813084116","last_synced_commit":"cd8f856c13aecae26d574eb4e11c21a642554bcc"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DennisOSRM%2Ftoolbox-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DennisOSRM%2Ftoolbox-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DennisOSRM%2Ftoolbox-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DennisOSRM%2Ftoolbox-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DennisOSRM","download_url":"https://codeload.github.com/DennisOSRM/toolbox-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248143971,"owners_count":21054858,"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"}},"keywords":["algorithms-and-data-structures","geospatial","mapping"],"created_at":"2024-10-12T16:06:47.672Z","updated_at":"2026-03-15T21:12:27.779Z","avatar_url":"https://github.com/DennisOSRM.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"![GitHub last commit](https://img.shields.io/github/last-commit/DennisOSRM/toolbox-rs.svg)\n![Crates.io](https://img.shields.io/crates/v/toolbox-rs.svg)\n\n![Cells](https://user-images.githubusercontent.com/1067895/169662031-a2a516df-296e-42de-8095-d2a5ff5da3c6.JPG)\n\n# Toolbox-rs\nA toolbox of basic data structures and algorithms. If you heard of OSRM, please draw your own conclusions. 😁\n\n## Graph Plier\nA tool to normalize graphs from various input formats into a normalized intermediate representation that is easily understood by the tool set.\n\n## Chipper\nA tool to bisect graphs in the DIMACS, (unweighted) METIS or DDSG format using an implementation of the Inertial Flow method. Example graphs can be downloaded on the website of the [9th DIMACS implemenation challenge](http://www.diag.uniroma1.it//challenge9/download.shtml). Chipper reproduces the runtime and quality numbers reported by [Schild and Sommer (2015)](http://sommer.jp/roadseparator.pdf). Currently, a balance factor of 0.25 is the default, and can be overridden via the command line.\n\n## Scaffold\nA tool to generate run-time data structures from pre-process graph. At this point it supports visualizing cells by their convex hulls. The result of this is stored in GeoJSON format which can be easily visualized, e.g. on [Kepler.gl](https://kepler.gl/demo).\n\n```\n$ cargo r --release --bin scaffold -- -p /path/to/USA-r20-m100.assignment.bin -c /path/to/USA-road-d.USA.co  --convex-cells-geojson /path/to/bbox.geojson\n```\n\n## Complete usage work flow via cargo:\nThe complete work flow is as follows. First, the input data is converted into a normalized format, then the tools are run for processing.\n\nConvert file to intermediate format:\n```\n$ cargo r --release --bin graph_plier -- -i dimacs -g /path/to/USA-road-d.USA.gr -c /path/to/USA-road-d.USA.co\n```\n\nPartition the graph recursively up to 30 times or until a cell has less than a hundred nodes:\n```\n$ cargo r --release --bin chipper -- -g /path/to/USA-road-d.USA.gr.toolbox -c /path/to/USA-road-d.USA.co.toolbox -o /path/to/result.txt -r30 -m100 -p /path/to/USA-r30-m100.assignment.bin\n```\n\nGenerate GeoJSON file visualizing the cells:\n```\n$ cargo r --release --bin scaffold -- -c /path/to/USA-road-d.USA.co.toolbox -g /path/to/USA-road-d.USA.gr.toolbox -p /path/to/USA-r30-m100.assignment.bin --convex-cells-geojson /path/to/bbox.geojson\n```\n\n\n## Convex Hull Visualization\n![Convex Hulls USA](https://user-images.githubusercontent.com/1067895/175577261-55e38f44-07ae-4ab2-b344-23d15f5d5c89.png)\n![Convex Hulls EUR](https://user-images.githubusercontent.com/1067895/184511222-3992c158-ba12-4f83-b8f3-64845e95a8bf.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdennisosrm%2Ftoolbox-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdennisosrm%2Ftoolbox-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdennisosrm%2Ftoolbox-rs/lists"}