Skip to main content

Dawarich 0.7.0: Route Splitting, Heatmap and More Import Formats

· 4 min read
Evgenii Burmakin
Author of Dawarich

Hey-ho, Dawarich 0.7.0 is here!

Well, it's 0.7.1 already, but still.

Dawarich is a self-hosted alternative to Google Location History (Google Maps Timeline).

Almost 3 months passed since the previous post, announcing the very first public release, 0.2.0 at the moment, and a whole bunch of new features were introduced to Dawarich since that moment.

Let's look at them briefly:

  • Docker image is now available for both ARM64 and AMD64 architectures
  • Dawarich now can accept your location data from the Overland mobile application
  • The export process was improved and made more robust and convenient
  • More types of imports are now supported:
    • Google Takeout's Records.json (a huge, bulky file)
    • Google Takeout's Semantic History Location (a bunch of JSON files split by month)
    • .GPX files
  • Background jobs concurrency is now tweakable
  • Points from your device now can be sent only with API-key
  • Map changes:
    • Heatmap
    • Routes are being split based on time and distance and now are not connected to a single huge mess of lines
    • Hover over a route will highlight it and show basic data (start-stop time, distance, and duration)
  • User can now (mass) delete their points

And now dive into a bit more details.

API Key

In the very first release, a user could send his geolocation data using OwnTracks without any kind of authentication. It made it impossible to link points to a specific user, hence statistics calculation was imperfect and any other user, signed up to Dawarich, could see other users' points. Since the introduction of the necessary usage of API key to send geolocation data from mobile apps (both OwnTracks and Overland), this is no longer a problem. Points are being linked to a user and the ones that were created before this change are linked to the very first user in your Dawarich system automatically.

Imports

Recently, Google announced sunsetting the storage of user location history on their web platform, moving it to user's devices instead. Users can now order a Takeout from their own devices. And looks like this Takeout has a different format from the two they already have (Records.json and Semantic History Location). Unfortunately, I don't have an example of such an export file, but as soon as I have one, I'll work on supporting its import to Dawarich as well. For now, Dawarich supports Google Takeout's Records.json and Semantic History Location, GPX files and OwnTracks export files. More to come.

Map

I love how the heatmap looks like on Dawarich's map, and how routes started to look a lot better after I introduced rules to split them, but this last change requires a bit more explanation.

In the first versions, Dawarich rendered one single route that connected all the points on the map. It made the map kind of unreadable (see the screenshot). One of my friends suggested splitting routes based on time and distance between consecutive points. The idea looks like this: points are being connected to form a route on the map, unless the time between one of the points and the other is more than 1 hour. If that's the case, these points are not being connected, and the route ends. The same goes for distance: if the distance between two consecutive points is more than 500 meters, the route ends. These conditions are working on an "OR" basis, if one of them is true, the route ends.

These settings can be changed by a user in the Settings section starting release 0.7.1

Routes before splitting: one tangled line across the map

Routes after splitting: clean, separate routes

More to come

The development of Dawarich doesn't stop. I have plenty ideas, most interesting (in my opinion) are:

  • "Fog of War" mode (if you know, you know)
  • API to read points, import data, and so on
  • Notification system to make events happening under the hood more transparent for the user
  • Update statistics to render more information
  • Monthly/yearly digests of your data and insights

The list is not exhaustive, more you can see at the development board or suggest in the discussions section.

Any questions, ideas, and contributions are most welcome!

P.S. As a bonus, my Overland configuration: https://imgur.com/a/overland-settings-dawarich-k8H7a8J


This post was originally published on r/selfhosted.

Dawarich is free, open-source and self-hostable. If you'd rather not run your own server, Dawarich Cloud does the hosting for you.