PitStopper.net

Blog - Tips, Stories & Updates

Faster POI Lookups: Our Own Overpass Server

What is Overpass?

Before diving into the improvements, let's explain what Overpass is. The Overpass API is a read-only API that serves up custom selected parts of OpenStreetMap data. When you search for water fountains, cafes, or any POI category in PitStopper, we're querying Overpass servers to find those locations near your route.

Think of it like a search engine for map data - you ask "show me all drinking water sources within 500 meters of this path" and Overpass returns the matching locations from the massive OpenStreetMap database.

Our Dedicated Server

Previously, PitStopper relied entirely on public Overpass servers. While these are generously provided by the community, they can be slow during peak times or occasionally unavailable. Now we run our own Overpass server at o.pitstopper.net.

Why This Matters

  • Faster responses: Our server is optimized for the types of queries PitStopper makes
  • Higher reliability: Less dependent on public infrastructure availability
  • Better timeout handling: Configured with a 5-second timeout optimized for our use case
  • Priority access: Your queries don't compete with other applications

Smart Server Fallbacks

We haven't abandoned the public servers - instead, we've implemented an intelligent fallback system. If our primary server is unavailable or slow, PitStopper automatically tries alternative servers:

  1. o.pitstopper.net (primary - 5s timeout)
  2. z.overpass-api.de (25s timeout)
  3. overpass-api.de (25s timeout)
  4. overpass.private.coffee (25s timeout)
  5. overpass.kumi.systems (25s timeout)

The system tracks server health and response times, automatically routing queries to the fastest available option. You can see server statistics in Tools > System Tools > POI Server Stats.

Server Stats Modal The Server Stats modal shows response times, success rates, and health status for each Overpass server.

Query Builder Improvements

Beyond the new server, we've significantly improved how PitStopper constructs and manages Overpass queries.

Multi-Bbox Batching

For long routes, we now split the search area into multiple bounding boxes and query them in parallel. This means a 200km route gets searched just as quickly as a 20km route, because we're processing multiple segments simultaneously.

Stale Request Cancellation

Start a new search before the previous one finishes? No problem. PitStopper now cancels in-flight requests when you modify your search parameters, preventing wasted bandwidth and confusing results from outdated queries.

Smart Caching

POI data is now cached intelligently per category. If you search for "water" sources, then add "cafes" to your search, we only query for cafes - the water data is already cached. You can view and clear the cache in Tools > System Tools > View POI Cache.

POI Cache Viewer The POI Cache Viewer shows which categories are cached and allows selective clearing.

What This Means For You

These improvements combine to deliver:

  • 50-80% faster searches for most routes
  • More reliable results even during peak usage times
  • Smoother experience when adjusting search parameters
  • Better feedback about what's happening during searches

The POI search modal now shows real-time progress including which server is being queried and cache hit statistics.

Handling Large POI Counts

With faster queries, you might find yourself with hundreds of POIs. PitStopper includes several tools to manage this:

  • Per-category limits: Set maximum POI counts for specific categories
  • Global limit slider: Cap total POIs across all categories
  • Distance filtering: Focus on POIs closest to your route
  • Bulk selection: Check multiple POIs and delete or keep selected

Madeira route with 1000+ POIs A 200km Madeira route with over 1,000 POIs - the new query system handles this in seconds.

Technical Details

For the technically curious:

  • Our Overpass server runs the latest Overpass API software with daily OSM data updates
  • Server health is tracked with exponential backoff for failed requests
  • Queries use [out:json] format with node/way element matching
  • The bounding box batching algorithm targets roughly 50km segments for optimal parallelization

We're continuously monitoring performance and will make further optimizations based on real-world usage patterns.

Try It Out

These improvements are live now - just upload any GPX file and search for POIs. You should notice faster, more responsive searches immediately.

Happy route planning!