{"id":15332143,"url":"https://github.com/slachiewicz/city-roads","last_synced_at":"2025-10-10T03:30:48.546Z","repository":{"id":43498538,"uuid":"235052657","full_name":"slachiewicz/city-roads","owner":"slachiewicz","description":"Visualization of all roads within any city","archived":false,"fork":true,"pushed_at":"2024-07-28T15:35:31.000Z","size":2450,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-27T19:32:53.773Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://anvaka.github.io/city-roads/","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"anvaka/city-roads","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/slachiewicz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"anvaka","patreon":"anvaka","custom":["https://www.paypal.me/anvakos/3"]}},"created_at":"2020-01-20T08:26:42.000Z","updated_at":"2024-07-28T15:35:35.000Z","dependencies_parsed_at":"2023-01-28T15:17:46.169Z","dependency_job_id":null,"html_url":"https://github.com/slachiewicz/city-roads","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/slachiewicz/city-roads","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slachiewicz%2Fcity-roads","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slachiewicz%2Fcity-roads/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slachiewicz%2Fcity-roads/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slachiewicz%2Fcity-roads/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slachiewicz","download_url":"https://codeload.github.com/slachiewicz/city-roads/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slachiewicz%2Fcity-roads/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002631,"owners_count":26083425,"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-10T02:00:06.843Z","response_time":62,"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"}},"keywords":[],"created_at":"2024-10-01T09:58:09.076Z","updated_at":"2025-10-10T03:30:48.178Z","avatar_url":"https://github.com/slachiewicz.png","language":"JavaScript","funding_links":["https://github.com/sponsors/anvaka","https://patreon.com/anvaka","https://www.paypal.me/anvakos/3"],"categories":[],"sub_categories":[],"readme":"# city-roads\n\nRender every single road in any city at once: https://anvaka.github.io/city-roads/\n\n![demo](https://i.imgur.com/6bFhX3e.png)\n\n## How it is made?\n\nThe data is fetched from OpenStreetMap using [overpass API](http://overpass-turbo.eu/). While that API\nis free (as long as you follow ODbL licenses), it can be rate-limited and sometimes it is slow. After all\nwe are downloading thousands of roads within an area!\n\nTo improve the performance of download, I indexed ~3,000 cities with population larger than 100,000 people and\nstored into a [very simple](https://github.com/anvaka/index-large-cities/blob/master/proto/place.proto) protobuf format. The cities are stored into a cache in this github [repository](https://github.com/anvaka/index-large-cities).\n\nThe name resolution is done by [nominatim](https://nominatim.openstreetmap.org/) - for any query that you type\ninto the search box it returns list of area ids. I check for the area id in my list of cached cities first,\nand fallback to overpass if area is not present in cache.\n\n## Scripting\n\nBehind simple UI software engineers would also find scripting capabilities. You can develop programs on top\nof the city-roads. A few examples are available in [city-script](https://github.com/anvaka/city-script). Scene\nAPI is documented here: https://github.com/anvaka/city-roads/blob/main/API.md\n\nPlease share your creations and do not hesitate to reach out if you have any questions.\n\n## Limitations\n\nThe rendering of the city is limited by the browser and video card memory capacity. I was able to render Seattle\nroads without a hiccup on a very old samsung phone, though when I tried Tokyo (with 1.4m segments) the phone\nwas very slow.\n\nSelecting area that has millions of roads (e.g. a Washington state) may cause the page to crash even on a\npowerful device.\n\nLuckily, most of the cities can be rendered without problems, resulting in a beautiful art.\n\n## Support\n\nIf you like this work and want to use it in your projects - you are more than welcome to do so!\n\nPlease [let me](https://twitter.com/anvaka) know how it goes. You can also sponsor my projects [here](https://github.com/sponsors/anvaka) - your funds will be dedicated to more awesome and free data visualizations.\n\n## Local development\n\n``` bash\n# install dependencies\nnpm install\n\n# serve with hot reload at localhost:8080\nnpm run dev\n\n# build for production with minification\nnpm run build\n\n# build for production and view the bundle analyzer report\nnpm run build --report\n```\n\n## License\n\nThe source code is licensed under MIT license\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslachiewicz%2Fcity-roads","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslachiewicz%2Fcity-roads","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslachiewicz%2Fcity-roads/lists"}