Hello, I'm looking for a good tool to selfhost some kind of location history similar to Google's one. To have some data I can test the tools with, I merged every of my bicylce and hiking tours to one GPX file containing 7000km worth of travel. Then I tried this tool, but it really lags with so much data and every move and every zoom takes some seconds to load. Next I tried the "Phonetrack" app on my nextcloud instance, but this as well lags and I have to activate every track manually and they are color coded. I really like the connection between the phonetrack app on my Android and the nextcloud app, but I am afraid that I'll eventually run into the same performance problem when I gathered enough data. I've seen that theres OwnTracks, but it seems you have to set up your own server and I don't want to pay extra next to my nextcloud subscription. Do you know of any kind of location history tool I can use that can handle big amounts of data?
EDIT: I now found a solution I'm very happy with: I still use the Phonetrack app with my Nextcloud and komoot to track my biking/hiking tours. I found a python program that downloads all my komoot tours (https://github.com/ThePBone/KomootGPX) in a folder on my Linux Desktop. I also mounted my nextcloud to my Linux filesystem, so I'd have access to the Phonetrack exports. I wrote a Java program that takes all the gpx files and converts them to a JSON file similar to the original Google Location History JSon file. That all happens automatically once in a week with an anacronjob. Finally I use this tool (https://github.com/theopolisme/location-history-visualizer) to visualize all the data. I've not run into performance issues with this unlike with the other apps I tried. I plan to change this program so I don't have to got through the steps with selecting the file, etc. but this is my current implementation that I'm very happy with. Just leave me a message if you need my Java file to achieve the same :)
Yeah, i think my data set is around 14mb when i load it all (and it loads all points to the browser). that is a bit of a loading lag, but once loaded it is ok.
The other issues is when you zoom out, you cannot pan around. you have to do clever scrolling (zoom) in and out to get to where you want.
I think it should be reasonabley easy to do the server side updates, but i cannot javscript front end to save my life!
here is a JS one i tried to build
That looks nice. If you want to share it, I'd totally try it out!
it is just a server-less javascript implementation (ie, a single html file, plus pre-packaged data).
Ultimately, it used leaflet.js and each square is a square-icon with different opacity. but i think you will find that heatmap plugin to leaflet will provide better performance with less complexity.
Still, i can upload it if you want.