How to consume pilgrimage data in your application.
Pin to a major version for stability. Files are cached globally.
https://cdn.jsdelivr.net/gh/walktalkmeditate/open-pilgrimages@v1/index.json
https://cdn.jsdelivr.net/gh/walktalkmeditate/open-pilgrimages@v1/routes/camino-frances/route.geojson
https://cdn.jsdelivr.net/gh/walktalkmeditate/open-pilgrimages@v1/routes/camino-frances/stages.json
https://cdn.jsdelivr.net/gh/walktalkmeditate/open-pilgrimages@v1/routes/camino-frances/metadata.json
https://cdn.jsdelivr.net/gh/walktalkmeditate/open-pilgrimages@v1/routes/camino-frances/waypoints.geojson
const BASE = 'https://cdn.jsdelivr.net/gh/walktalkmeditate/open-pilgrimages@v1';
// Discover available routes
const index = await fetch(`${BASE}/index.json`).then(r => r.json());
// Load route geometry for Mapbox GL JS, Leaflet, etc.
const route = await fetch(`${BASE}/routes/camino-frances/route.geojson`).then(r => r.json());
map.addSource('camino', { type: 'geojson', data: route });
// Load stage data
const stages = await fetch(`${BASE}/routes/camino-frances/stages.json`).then(r => r.json());
for (const stage of stages.stages) {
console.log(`Stage ${stage.index}: ${stage.name.en} — ${stage.distanceKm} km`);
}
import MapKit
let base = "https://cdn.jsdelivr.net/gh/walktalkmeditate/open-pilgrimages@v1"
let url = URL(string: "\(base)/routes/camino-frances/route.geojson")!
let (data, _) = try await URLSession.shared.data(from: url)
// Decode as standard GeoJSON
let features = try MKGeoJSONDecoder().decode(data)
// Or decode with custom types
let route = try JSONDecoder().decode(GeoJSONFeatureCollection.self, from: data)
import json
import urllib.request
BASE = "https://cdn.jsdelivr.net/gh/walktalkmeditate/open-pilgrimages@v1"
# Load stages
url = f"{BASE}/routes/camino-frances/stages.json"
stages = json.loads(urllib.request.urlopen(url).read())
for stage in stages["stages"]:
name = stage["name"]["en"]
km = stage["distanceKm"]
interior = stage.get("interior", {}).get("theme", {}).get("en", "—")
print(f" Stage {stage['index']:2d}: {name:45s} {km:5.1f} km [{interior}]")
When using this data, include:
Contains information from Open Pilgrimages
(https://github.com/walktalkmeditate/open-pilgrimages),
made available under the ODbL.
Route data © OpenStreetMap contributors.
https://www.openstreetmap.org/copyright
See the contributing guide for how to add routes, fix data, and contribute interior journey content.