{"id":13412147,"url":"https://github.com/njanakiev/openstreetmap-heatmap","last_synced_at":"2025-04-06T07:12:53.127Z","repository":{"id":46722231,"uuid":"118451761","full_name":"njanakiev/openstreetmap-heatmap","owner":"njanakiev","description":"Visualization of OpenStreetMap Data with Blender and Python","archived":false,"fork":false,"pushed_at":"2022-06-04T11:36:41.000Z","size":4679,"stargazers_count":389,"open_issues_count":2,"forks_count":54,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-03-30T06:05:25.810Z","etag":null,"topics":["blender","blender-scripts","data-visualization","dataviz","openstreetmap","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/njanakiev.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":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.paypal.me/njanakiev"]}},"created_at":"2018-01-22T12:03:28.000Z","updated_at":"2025-03-11T09:45:39.000Z","dependencies_parsed_at":"2022-09-24T10:43:57.121Z","dependency_job_id":null,"html_url":"https://github.com/njanakiev/openstreetmap-heatmap","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njanakiev%2Fopenstreetmap-heatmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njanakiev%2Fopenstreetmap-heatmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njanakiev%2Fopenstreetmap-heatmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njanakiev%2Fopenstreetmap-heatmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/njanakiev","download_url":"https://codeload.github.com/njanakiev/openstreetmap-heatmap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247445671,"owners_count":20939958,"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":["blender","blender-scripts","data-visualization","dataviz","openstreetmap","python"],"created_at":"2024-07-30T20:01:21.494Z","updated_at":"2025-04-06T07:12:53.092Z","avatar_url":"https://github.com/njanakiev.png","language":"Python","funding_links":["https://www.paypal.me/njanakiev"],"categories":["Python"],"sub_categories":[],"readme":"# Openstreetmap Heatmap\nThis project is a visualization of OpenStreetMap data with Blender and Python as a 3D barplot. It creates an occurence heatmap of all points that are collected within a country with a certain tag.\n\nOpenStreetMap (OSM) has a vast geospatial data set containing various tags and attributes besides the geometry. By using the [Overpass API](https://wiki.openstreetmap.org/wiki/Overpass_API) we can query for specific tags, filter specific areas and various other kinds of queries. In this case we want to query for tags within the boundary of a country. We are using the two-letter [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) and filter for a single [OSM tag](https://wiki.openstreetmap.org/wiki/Tags) across all available [OSM elements](https://wiki.openstreetmap.org/wiki/Elements). You can see the various [Map Features](https://wiki.openstreetmap.org/wiki/Map_Features) to get a grasp of the variety.\n\n![DE_biergarten_animation](/assets/DE_biergarten_animation.gif)\n\n# Requirements\n\n- Blender 2.5+\n- [overpy](https://python-overpy.readthedocs.io/en/latest/)\n\nIn order to run this script you need to run\n\n```\nblender -b -P run_script.py\n```\n\nwhich runs the rendering in the background. You can also load [run_script.py](/run_script.py) into Blender as a script and execute the program from there. You need to have the overpy package available in your Python distribution which is accessed by Blender. I described in this [article](http://til.janakiev.com/using-anaconda-in-blender/) how to use [Anaconda](https://www.anaconda.com/download/) in Blender, which is handy for installing and using additional python packages.\n\nYou can edit the settings within the [render_osm_data.py](/render_osm_data.py) under the `# Settings` part. The script can do both render frames of an animation (rotation around the barplot) or render a single frame. You can also load and save the points as a [GeoJSON](https://en.wikipedia.org/wiki/GeoJSON) with the [utils_osm.py](/utils_osm.py) script.\n\n# Gallery\n\n### All Biergarten in Germany\n\n![DE_biergarten](/assets/DE_biergarten.png)\n\n### All Swiss Banks\n\n![CH_bank](/assets/CH_bank.png)\n\n### All Pubs in Great Britain\n\n![GB_pub](/assets/GB_pub.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnjanakiev%2Fopenstreetmap-heatmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnjanakiev%2Fopenstreetmap-heatmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnjanakiev%2Fopenstreetmap-heatmap/lists"}