Skip to content

#326 Horse Route Import — Current Status (2026-06-09)

Summary

Status: ⚠️ Partial implementation — working on API integration issues

Routes available: - ✅ FFE France: 3 Grand Itinéraires (working) - ❌ OSM: Overpass servers down (504 errors) — will retry when recovered - ❌ RouteYou: API endpoints returning 404 — endpoint structure different than expected - ❌ Toerisme Vlaanderen: No horse/paard layer exists in WFS (only walking/cycling) - ❌ Staatsbosbeheer: GPX URLs invalid or no valid route points

Total currently importable: 3 routes (FFE only)


What Went Wrong

1. Overpass API (OSM) — TEMPORARY

Issue: HTTP 504 Bad Gateway errors on all Overpass mirrors

https://overpass-api.de/api/interpreter → 504
https://maps.mail.ru/osm/tools/overpass/api/interpreter → 504  
https://overpass.kumi.systems/api/interpreter → timeout

Status: Servers are overloaded, not a syntax error. OQL query is correct.

Fix: When Overpass recovers (check https://overpass-api.de/), run:

python3 scripts/import_osm_horse_routes.py

Expected when recovered: 300+ horse routes (horse=yes, horse=designated, horse=permissive, bridleway)


2. RouteYou — API ENDPOINT BROKEN

Issue: All RouteYou endpoints return 404

https://www.routeyou.com/api/v1/routes?activity=horseback-riding&country=nl → 404
https://www.routeyou.com/api/v1/routes?activity=horse&country=nl → 404

Investigation needed: - RouteYou API structure may have changed - May require authentication token - May have moved to different endpoint version (v2, v3?)

Solution: Need to contact RouteYou or find current API docs

Expected when fixed: 1,400+ routes across NL/BE/DE/FR


3. Toerisme Vlaanderen — NO HORSE LAYER

Issue: WFS only has walking (wandel) and cycling (fiets) routes

Available layers:
- routes:traject_wandel
- routes:traject_fiets
- routes:icoonroute_trajecten
[... 12 others, no paard/horse/rijden]

Status: This source doesn't have horse route data

Solution: Mark as unavailable or contact Toerisme Vlaanderen to add horse layer

Expected if they add it: 100+ routes (Flanders)


4. Staatsbosbeheer — INVALID GPX URLS

Issue: GPX files either don't exist or have no valid route points

- Drentsche Aa: no valid points
- Veluwe - Kootwijk: no valid points
- [all 10 tested routes failed]

Investigation needed: - URLs may be outdated - GPX files may have been moved - Format may be different than expected

Solution: Verify URLs are current, may need web scraping instead

Expected when fixed: 50+ routes (Dutch forestry)


What's Working ✅

FFE France (Equestrian Federation)

Grand Itinéraires:
1. Route d'Artagnan
2. Route Napoléon  
3. Route Saint-Jacques

Status: Hardcoded data, always available Expected: 3 routes (can be expanded with FFE API)


Next Steps

Immediate (this week)

  1. Overpass: Monitor recovery at https://overpass-api.de/ → retry when up
  2. RouteYou: Research current API (v2/v3?), check for auth requirements
  3. Staatsbosbeheer: Verify GPX URLs, possibly switch to web scraping

Medium term (next 2 weeks)

  1. Contact RouteYou for API access clarification
  2. Contact Toerisme Vlaanderen: ask if they have horse layer or plan to add one
  3. Email KNHS for WFS enablement (pending — see docs/knhs_wfs_email_nl.md)
  4. Email Routedatabank for access (pending — see docs/routedatabank_email_nl.md)

Fallback options if APIs don't work

  1. Web scraping RouteYou/Staatsbosbeheer/KNHS websites
  2. Manual curation of high-quality routes from Wikiloc/OpenRouteService
  3. Partner APIs like Komoot (may have horse filter)

Current Import Master Script

Run with python3 scripts/import_all_horse_routes.py: - ✅ FFE France: works - ⏭️ OSM: skipped (servers down) - ❌ RouteYou: 0 routes (API 404) - ❌ Toerisme: 0 routes (no horse layer) - ❌ Staatsbosbeheer: 0 routes (invalid URLs)

Total: 3 routes available to import

Once sources are fixed: - OSM: +300 routes (pending Overpass recovery) - RouteYou: +1,400 routes (pending API fix) - KNHS: +650 routes (pending email approval + WFS setup) - Routedatabank: +2,000 routes (pending email approval + API access)


Testing Commands

# Test individual importers
python3 -c "import sys; sys.path.insert(0, 'scripts'); from import_routeyou import import_routeyou; print(import_routeyou('nl'))"
python3 -c "import sys; sys.path.insert(0, 'scripts'); from import_osm_horse_routes import import_osm_horse_routes; print(import_osm_horse_routes())"
python3 -c "import sys; sys.path.insert(0, 'scripts'); from import_ffe_france import import_ffe_france; print(import_ffe_france())"

# Check Overpass status
curl https://overpass-api.de/api/status

# Check Toerisme WFS layers
curl "https://geodata.toerismevlaanderen.be/geoserver/routes/wfs?service=WFS&version=2.0.0&request=GetCapabilities" | grep "Name" | head -20

Priority for Implementation

  1. Overpass (OSM) — Most important, 300+ routes, just need servers to recover
  2. RouteYou — 1,400+ routes, second largest source
  3. KNHS WFS — 650+ routes, pending email approval
  4. Routedatabank — 2,000+ routes, pending email approval
  5. Staatsbosbeheer — 50+ routes, lowest priority
  6. Toerisme Vlaanderen — unavailable (no horse layer)

Archive

Previously attempted: - Import 7 sources (2,300+ routes) — blocked by API issues - Manual route data collection — 30+ sources identified but limited immediate API access - Reverse-geocoding for ride auto-naming — ✅ implemented (#325)