{"id":13554469,"url":"https://github.com/luka1199/geo-heatmap","last_synced_at":"2025-05-15T07:03:50.325Z","repository":{"id":36327145,"uuid":"196078788","full_name":"luka1199/geo-heatmap","owner":"luka1199","description":":world_map: Generate an interactive geo heatmap from your Google location data","archived":false,"fork":false,"pushed_at":"2024-08-17T16:08:23.000Z","size":1801,"stargazers_count":2060,"open_issues_count":15,"forks_count":229,"subscribers_count":40,"default_branch":"master","last_synced_at":"2025-05-15T07:03:30.578Z","etag":null,"topics":["folium","geo-heatmap","google","google-location-history","heatmap","heatmaps","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/luka1199.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2019-07-09T20:27:54.000Z","updated_at":"2025-04-29T02:13:28.000Z","dependencies_parsed_at":"2024-11-20T11:19:03.750Z","dependency_job_id":"79752237-0cab-4c05-aa3c-a39b727d2ede","html_url":"https://github.com/luka1199/geo-heatmap","commit_stats":{"total_commits":111,"total_committers":14,"mean_commits":7.928571428571429,"dds":0.5675675675675675,"last_synced_commit":"fc253685d8f918eafbc7e5f47d2257f69873202a"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luka1199%2Fgeo-heatmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luka1199%2Fgeo-heatmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luka1199%2Fgeo-heatmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luka1199%2Fgeo-heatmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luka1199","download_url":"https://codeload.github.com/luka1199/geo-heatmap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254291961,"owners_count":22046424,"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":["folium","geo-heatmap","google","google-location-history","heatmap","heatmaps","openstreetmap","python"],"created_at":"2024-08-01T12:02:48.466Z","updated_at":"2025-05-15T07:03:50.300Z","avatar_url":"https://github.com/luka1199.png","language":"Python","funding_links":[],"categories":["Python","HarmonyOS","google"],"sub_categories":["Windows Manager"],"readme":"# Geo Heatmap\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/45404400/63515170-7a9cd280-c4ea-11e9-8875-e693622ac26e.png\" alt=\"screenshot\" width=\"400\"\u003e\u003c/p\u003e\n\nThis is a script that generates an interactive geo heatmap from your Google location history data using Python, Folium and OpenStreetMap.\n\n## Getting Started\n\n### 1. Install Python 3+\n\nIf you don't already have Python 3+ installed, grab it from \u003chttps://www.python.org/downloads/\u003e. You'll want to download install the latest version of **Python 3.x**. As of 2019-11-22, that is Version 3.8.\n\n### 2. Get Your Location Data\n\nHere you can find out how to download your Google data: \u003chttps://support.google.com/accounts/answer/3024190?hl=en\u003e\u003c/br\u003e\nHere you can download all of the data that Google has stored on you: \u003chttps://takeout.google.com/\u003e\n\nTo use this script, you only need to select and download your \"Location History\", which Google will provide to you as a JSON file by default.  KML is also an output option and is accepted for this program.\n\nYou can also import [GPS Exchange Format (GPX)](https://en.wikipedia.org/wiki/GPS_Exchange_Format) files,\ne.g. from a GPS tracker.\n\n### 3. Clone This Repository\n\nOn \u003chttps://github.com/luka1199/geo-heatmap\u003e, click the green \"Clone or Download\" button at the top right of the page. If you want to get started with this script more quickly, click the \"Download ZIP\" button, and extract the ZIP somewhere on your computer.\n\n### 4. Install Dependencies\n\nIn a [command prompt or Terminal window](https://tutorial.djangogirls.org/en/intro_to_command_line/#what-is-the-command-line), [navigate to the directory](https://tutorial.djangogirls.org/en/intro_to_command_line/#change-current-directory) containing this repository's files. Then, type the following, and press enter:\n\n```shell\npip install -r requirements.txt\n```\n\n### 5. Run the Script\n\nIn the same command prompt or Terminal window, type the following, and press enter:\n\n```shell\npython geo_heatmap.py \u003cfile\u003e [\u003cfile\u003e ...]\n```\n\nReplace the string `\u003cfile\u003e` from above with the path to any of the following files:\n\n- The `Location History.json` JSON file from Google Takeout\n- The `Location History.kml` KML file from Google Takeout\n- The `takeout-*.zip` raw download from Google Takeout that contains either of the above files\n- A [GPS Exchange Format (GPX)](https://en.wikipedia.org/wiki/GPS_Exchange_Format) file\n\n#### Examples:\n\nSingle file:\n\n```shell\npython geo_heatmap.py C:\\Users\\Testuser\\Desktop\\Records.json\n```\n\n```shell\npython geo_heatmap.py \"C:\\Users\\Testuser\\Desktop\\Location History.json\"\n```\n\n```shell\npython geo_heatmap.py Records.json\n```\n\nMultiple files:\n\n```shell\npython geo_heatmap.py Records.json locations.kml takeout.zip\n```\n\nUsing the stream option (for users with Memory Errors):\n\n```shell\npython geo_heatmap.py -s Records.json\n```\n\nSet a date range:\n\n```shell\npython geo_heatmap.py --min-date 2017-01-02 --max-date 2018-12-30 Records.json\n```\n\nAdvanced heatmap settings:\n\n```shell\npython geo_heatmap.py -z 15 -r 12 -b 7 -mo 0.3 -mz 20 Records.json\n```\n\n#### Usage:\n\n```\nusage: geo_heatmap.py [-h] [-o OUTPUT] [--min-date YYYY-MM-DD]\n                      [--max-date YYYY-MM-DD] [-s] [--map MAP] [-z ZOOM_START]\n                      [-r RADIUS] [-b BLUR] [-mo MIN_OPACITY] [-mz MAX_ZOOM]\n                      file [file ...]\n\npositional arguments:\n  file                  Any of the following files:\n                        - Your location history JSON file from Google Takeout\n                        - Your location history KML file from Google Takeout\n                        - The takeout-*.zip raw download from Google Takeout\n                        that contains either of the above files\n                        - A GPX file containing GPS tracks\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -o OUTPUT, --output OUTPUT\n                        Path of heatmap HTML output file.\n  --min-date YYYY-MM-DD\n                        The earliest date from which you want to see data in the heatmap.\n  --max-date YYYY-MM-DD\n                        The latest date from which you want to see data in the heatmap.\n  -s, --stream          Option to iteratively load data.\n  --map MAP, -m MAP     The name of the map tiles you want to use.\n                        (e.g. 'OpenStreetMap', 'StamenTerrain', 'StamenToner', 'StamenWatercolor')\n  -z ZOOM_START, --zoom-start ZOOM_START\n                        The initial zoom level for the map. (default: 6)\n  -r RADIUS, --radius RADIUS\n                        The radius of each location point. (default: 7)\n  -b BLUR, --blur BLUR  The amount of blur. (default: 4)\n  -mo MIN_OPACITY, --min-opacity MIN_OPACITY\n                        The minimum opacity of the heatmap. (default: 0.2)\n  -mz MAX_ZOOM, --max-zoom MAX_ZOOM\n                        The maximum zoom of the heatmap. (default: 4)\n```\n\n### 6. Review the Results\n\nThe script will generate a HTML file named `heatmap.html`. This file will automatically open in your browser once the script completes. Enjoy!\n\n## FAQ\n\n### I'm getting an \"Out of Memory\" error or `MemoryError` when I try to run the script. What's going on?\n\nYour `LocationHistory.json` file is probably huge, and Python is running out of memory when the script tries to parse that file.\n\nTo fix this, download and install the 64-bit version of Python. To do this:\n\n1. Go to [python.org](https://www.python.org/downloads/).\n2. Click the link corresponding to your OS next to \"Looking for Python with a different OS?\"\n3. Click the \"Latest Python 3 Release\" link.\n4. Scroll down to \"Files\".\n5. Click to download the x64 release. For example, on Windows, that's the \"Windows x86-64 executable installer\" link.\n6. Install!\n\nIf this does not fix the issue you can use the stream option:\n\n```shell\npython geo_heatmap.py -s \u003cfile\u003e\n```\n\nThis will be slower but will use much less memory to load your location data.\n\n### I'm getting a `SyntaxError` when running `pip install -r requirements.txt` or `python geo_heatmap.py \u003cfile\u003e`. What am I doing wrong?\n\nYou are probably using the python interpreter to run these commands. Try to run them in cmd.exe or Windows PowerShell (Windows) or the Terminal (Linux, MacOS).\n\n### I'm getting the error message `TypeError: __init__() got an unexpected keyword argument 'max_value'`. What can I do to fix this?\n\nTry to run:\n\n```shell\npip uninstall progressbar\npip install progressbar2\n```\n\nYou probably have progressbar installed, which uses `maxval` as an argument for `__init__`. Progressbar2 uses `max_value`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluka1199%2Fgeo-heatmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluka1199%2Fgeo-heatmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluka1199%2Fgeo-heatmap/lists"}