hossain-khan / kgeo-timeline

Kotlin library for parsing Google Location History (Timeline) data.
https://hossain-khan.github.io/kgeo-timeline/
MIT License
1 stars 0 forks source link
google-location-api google-location-history google-takeout google-timeline location location-history location-history-parser location-tracking

KGeoTimeline 📍

Kotlin library for parsing Google Location History (Timeline) data.

google-takeout-location-history

Run Sample App

Open the project in IntelliJ IDEA, and run the sample/src/main/kotlin/Main.kt file.

ℹī¸ Note: Read instructions in the Main.kt on where to add the unzipped Google Location History data.

Sample Output

Here is a sample output from running the app with Google Location History data.

Sample app for Google Location History Parser project.

đŸŸĸ Got records: 3,103,992 records.

đŸŸĸ Got semantic location history data:
...
2018=[APRIL: 276, AUGUST: 294, DECEMBER: 412, FEBRUARY: 257, JANUARY: 249, JULY: 259, JUNE: 305, MARCH: 287, MAY: 291, NOVEMBER: 250, OCTOBER: 283, SEPTEMBER: 328]
2019=[APRIL: 155, AUGUST: 359, DECEMBER: 254, FEBRUARY: 205, JANUARY: 309, JULY: 313, JUNE: 302, MARCH: 226, MAY: 203, NOVEMBER: 329, OCTOBER: 355, SEPTEMBER: 260]
2020=[APRIL: 48, AUGUST: 166, DECEMBER: 82, FEBRUARY: 244, JANUARY: 475, JULY: 107, JUNE: 90, MARCH: 191, MAY: 66, NOVEMBER: 91, OCTOBER: 172, SEPTEMBER: 148]
....

đŸŸĸ Got timeline edits: 195,444 items edited.

Troubleshooting

Due to domain model class's nullability rule, you may see Required value 'metadata' missing at $xyz error.

image

This error is due to the field being missing in the JSON data. To fix this, you can update the model class and build the project again. Feel free to open pull-request with fixes.

API Documentation

📖 https://hossain-khan.github.io/kgeo-timeline/

How to build and push API doc

API docs are automatically published to the GitHub pages site using static workflow.

dokkaHtml - Generates documentation in 'html' format

References

Related Projects

Some related projects