Horse Route Filtering Guide — #326¶
CRITICAL: All importers must filter for HORSE RIDING routes ONLY NOT general hiking trails, walking paths, or cycling routes
The Problem¶
Many data sources mix different activity types: - RouteYou has walking + cycling + horse routes (mixed) - OSM has bridleways for walking AND horses (ambiguous) - Tourism websites show "trails" that may not allow horses - Hiking databases include general bridleways
We need ONLY routes where horses are explicitly allowed or designated.
Filtering Rules by Source¶
RouteYou¶
INCLUDE:
✅ activity=horseback-riding
✅ activity=horse-riding
✅ type=horse
EXCLUDE:
❌ activity=walking
❌ activity=hiking
❌ activity=cycling
❌ activity=mountain-biking
Importer: import_routeyou.py (filters by activity=horseback-riding)
OSM Bridleways¶
INCLUDE (HORSE-DESIGNATED ONLY):
✅ way["horse"="designated"] ← Official horse routes
✅ way["horse"="yes"] + bridleway ← Confirmed horse paths
✅ way["horse"="permissive"] ← Allowed for horses
EXCLUDE:
❌ general "bridleway" without horse tag (may be walking-only)
❌ "path" without horse tag (assumed walking)
❌ "track" without horse tag (may be agricultural/4x4)
Importer: import_osm_horse_routes.py (uses horse=designated filter)
Staatsbosbeheer (Netherlands)¶
INCLUDE:
✅ Routes explicitly labeled "Paardrijden" (Horse riding)
✅ GPX files from reitwegen.nl category
✅ Staatsbosbeheer nature area bridle paths
EXCLUDE:
❌ Wandelroutes (walking routes)
❌ Fietsroutes (cycling routes)
Status: Need to verify which GPX files are horse-specific
FFE GéoCheval (France)¶
INCLUDE:
✅ Activité: Équitation (Equitation/Horse riding)
✅ Grand Itinéraires: Chemins de cavaliers (Horse trails)
✅ Routes tagged with "horse-riding" or "equestrian"
EXCLUDE:
❌ Randonnée (hiking)
❌ VTT (mountain biking)
Importer: import_ffe_france.py (FFE = equestrian federation only)
Toerisme Vlaanderen (Belgium)¶
INCLUDE:
✅ Ruiternetwerk (Horse riding network)
✅ Paardrijden routes (Horse riding routes)
✅ Wegen voor ruiters (Routes for riders)
EXCLUDE:
❌ Wandelpaden (walking paths)
❌ Fietspaden (cycling paths)
Status: WFS query needs to filter by horse activity type
KNHS (Netherlands) - After Email Approval¶
INCLUDE:
✅ KNHS Ruiternetwerk (official Dutch horse network)
✅ All KNHS-designated routes
✅ Regional reitwegen (riding ways)
EXCLUDE:
❌ Any non-equestrian routes
Source: Dedicated equestrian federation = no filtering needed
Routedatabank (Netherlands) - After Email Approval¶
INCLUDE:
✅ Ruiterroutes (Horse routes)
✅ Routes tagged with "horse" activity
✅ KNHS-affiliated routes
EXCLUDE:
❌ Walking trails
❌ Cycling routes
Status: Need to confirm feature types with Routedatabank approval
Implementation Checklist¶
- RouteYou: Filter parameter
activity=horseback-riding✅ - OSM Horse Routes: Filter
horse=designatedONLY ✅ - Staatsbosbeheer: Verify GPX files are "paardrijden" 🔍
- Toerisme Vlaanderen: Add activity type filter 🔍
- FFE France: Confirm API returns equestrian routes only 🔍
- KNHS: Use official KNHS endpoint (no filtering needed) ⏳
- Routedatabank: Confirm feature types with approval ⏳
Data Quality Verification¶
When testing importers, verify:
- Route names contain horse-related keywords:
- ✅ "Ruiterpaden", "Ruiterroutes", "Paardrijden", "Horse trails"
-
❌ "Wandelpad", "Voetpad", "Fietsroute", "Hiking trail"
-
Route descriptions mention horses/equestrian:
- ✅ "voor ruiters", "horse riding", "équitation"
-
❌ "for hikers", "walking trail", "pedestrian"
-
Spot-check coordinates on map:
- ✅ Routes pass through horse-friendly terrain (estates, forests, open fields)
-
❌ Urban streets, narrow hiking paths, city centers
-
Exclude suspicious sources:
- ❌ "Kinderpaden" (children's paths)
- ❌ "Parkwegen" (park paths for pedestrians)
- ❌ "Stadswandeling" (city walking tours)
Testing Queries¶
# Test RouteYou horse filter
curl "https://www.routeyou.com/api/v1/routes?activity=horseback-riding&country=nl"
# Test OSM horse-designated filter
curl -d '[out:json];way["horse"="designated"](bbox:52.5,6.1,53.2,7.1);out;' \
https://overpass-api.de/api/interpreter
# Test FFE routes
curl "https://geocheval.ffe.com/api/routes?activity=equestrian"
When in Doubt¶
If a route's activity type is unclear: 1. Check if the source is equestrian-specific (FFE, KNHS, etc.) 2. Look for explicit "horse" tags in metadata 3. Verify via website or tourism board 4. If still unclear: EXCLUDE it (better to miss than to include walking trails)
Success Metrics¶
✅ Final routes dataset should be: - 95%+ horse-specific (equestrian tags confirmed) - <5% generic bridleways or ambiguous trails - No hiking-only trails - No cycling routes - All routes Google Maps-verifiable as horse-rideable
Example good routes: - "Ruiterroute de Veluwe" (explicit horse route) - "KNHS Ruiternetwerk Noord-Holland" (official network) - "Route d'Artagnan Équestrian Trail" (equestrian federation) - Way[horse=designated] in OSM (explicitly marked)
Example bad routes (EXCLUDE): - "Wandeling door de natuur" (walking trail) - "Drents pad" (unmarked hiking path) - "Voetbalveld route" (park path) - Generic bridleway without horse tag