从你的Google位置数据生成一个交互式地理热图
geo-heatmap的Python项目详细描述
地理热图
这是一个脚本,它使用Python、Folium和OpenStreetMap从Google位置历史数据生成一个交互式地理热图。在
入门
1。安装Python 3+
如果尚未安装Python3+,请从https://www.python.org/downloads/获取它。您需要下载并安装最新版本的Python 3.x。截至2019年11月22日,这是3.8版。在
为了便于python版本处理,我建议通过pyenv安装它。在
2。获取您的位置数据
在这里你可以找到如何下载你的谷歌数据:https://support.google.com/accounts/answer/3024190?hl=en
在这里你可以下载谷歌存储在你身上的所有数据:https://takeout.google.com/
要使用这个脚本,您只需要选择并下载您的“位置历史记录”,默认情况下,Google将以JSON文件的形式提供给您。KML也是一个输出选项,并被接受用于此程序。在
3。安装脚本
在command prompt or Terminal window中,navigate to the directory包含位置数据文件。然后,键入以下内容,然后按enter键:
pip install geo-heatmap
4。运行脚本
在同一命令提示或终端窗口中,键入以下内容,然后按enter键:
^{pr2}$将上面的字符串<file>
替换为以下任何文件的路径:
- Google Takeout中的
Location History.json
JSON文件 - 来自Google Takeout的
Location History.kml
KML文件 - 从Google Takeout下载的
takeout-*.zip
原始下载,包含上述任一文件
示例:
单个文件:
geo-heatmap C:\Users\Testuser\Desktop\locations.json
geo-heatmap "C:\Users\Testuser\Desktop\Location History.json"
geo-heatmap locations.json
多个文件:
geo-heatmap locations.json locations.kml takeout.zip
使用流选项(对于内存错误的用户):
geo-heatmap -s locations.json
设置日期范围:
geo-heatmap --min-date 2017-01-02 --max-date 2018-12-30 locations.json
用法:
usage: geo-heatmap [-h] [-o] [--min-date YYYY-MM-DD]
[--max-date YYYY-MM-DD] [-s] [--map MAP]
file [file ...]
positional arguments:
file Any of the following files:
1. Your location history JSON file from Google Takeout
2. Your location history KML file from Google Takeout
3. The takeout-*.zip raw download from Google Takeout
that contains either of the above files
optional arguments:
-h, --help show this help message and exit
-o , --output Path of heatmap HTML output file.
--min-date YYYY-MM-DD
The earliest date from which you want to see data in the heatmap.
--max-date YYYY-MM-DD
The latest date from which you want to see data in the heatmap.
-s, --stream Option to iteratively load data.
--map MAP, -m MAP The name of the map tiles you want to use.
(e.g. 'OpenStreetMap', 'StamenTerrain', 'StamenToner', 'StamenWatercolor')
6。检查结果
该脚本将生成一个名为heatmap.html
的HTML文件。脚本完成后,此文件将在浏览器中自动打开。享受吧!在
常见问题解答
我尝试运行脚本时遇到“内存不足”错误或MemoryError
。发生什么事?
您的LocationHistory.json
文件可能很大,当脚本试图解析该文件时,Python内存不足。在
要解决此问题,请下载并安装64位版本的Python。为此:
- 转到python.org。在
- 下一步单击“查找与您的操作系统对应的Python链接?”在
- 单击“最新Python3 Release”链接。在
- 向下滚动到“文件”。在
- 单击下载x64版本。例如,在Windows上,这是“windowsx86-64可执行安装程序”链接。在
- 安装!在
如果这不能解决问题,您可以使用stream选项:
geo-heatmap -s <file>
这将比较慢,但将使用更少的内存来加载您的位置数据。在
我在运行pip install -r requirements.txt
或python geo_heatmap.py <file>
时得到一个SyntaxError
。我做错什么了?
您可能正在使用python解释器来运行这些命令。试着让他们进去命令行.exe或Windows PowerShell(Windows)或终端(Linux、MacOS)。在
我收到错误消息TypeError: __init__() got an unexpected keyword argument 'max_value'
。我能做些什么来解决这个问题?
尝试运行:
pip uninstall progressbar pip install progressbar2
您可能已经安装了progressbar,它使用maxval
作为__init__
的参数。Progressbar2使用max_value
。在
发展
此项目正在使用Poetry管理依赖项。你可以按照他们的指导安装。在
如果您想在此基础上进一步开发,在克隆此存储库并导航到其中之后,您可以启动并运行以下内容:
poetry install poetry run geo-heatmap
- 项目
标签: