For a while, I’ve wanted a way to view megaliths easily from my phone. The more-or-less definitive resource for British megalith sites is Whilst this is an exceptional trove of knowledge, the browsing experience is somewhat sub-par. Similarly, there is The browsing experience and quality of data on this site are better than megalithic (simply due to it being curated), but still lacking.

My basic requirements for a new system are that:

  1. It should show the locations clearly. This means no “15 sites at this location” prompts, which both of the above sites have due to using Leaflet to display their data.
  2. It should be integrated with an existing mapping tool. I often plan hikes around these sites, and frequently want to be able to see what’s in my vicinity.
  3. The data should be somewhat curated. I don’t care about sites that are destroyed, or sites that are documented with no further evidence.

I use two map applications on my phone: Organic Maps and OsmAnd. Compatibility with either of these is good enough for me.

My initial plan was to target OsmAnd, in a similar way to how the UK postcodes POI work. This was largely unsuccessful though, as converting to OBF is not amazingly documented (I was always getting empty files).

I then moved to GPX. I have used GPX in the past for plotting routes, but didn’t appreciate that GPX is also ideal for making collections of map markers. Furthermore, creating a GPX file is incredibly easy, and compatible with both OsmAnd, Organic Maps, and a plethora of other mapping systems.

My final product is megalith-osm. This is a Python script that downloads and caches data from both sources, and produces a GPX. It deduplicates against the name and location, removes museums and modern stone circles, and filters by “quality” (specified by the -q argument). Quality varies from 5 to -1, where -1 is destroyed and 5 is “perfect”.

Using -q 5, we get 1182 sites. Using -q 1, we get 15,846 sites. On my own device, I have opted to use -q 5.

You can download the -q 5 file from Downloads. Thanks!