Geocaching API Distance Limits
I used the Get Logs function to grab the missing logs from my own caches so my stats page would be more accurate. Turns out, I missed several dozen logs by manually grabbing the GPX when people logged my caches.
I then played around with the Status Check function. This will be very useful before going caching in a specific area so that I don’t go looking for last minute disabled/archived caches.
A couple of days ago I took a look at the Get Geocaches screen. I normally use a bunch of Pocket Queries to fill my GSAK database, so I wasn’t expecting that feature to be too useful to me personally. One thing did catch my eye however. I noticed I can filter on favourite points. That would be very useful as I can’t do that with PQs yet.
So I set the minimum to 5 to get the more interesting caches. I also put in a maximum distance of 500km which is about as far I’m willing to go on a day trip. Then I hit OK. After it downloaded the data I noticed it only returned around 300 cache results. Odd, I expected a bit more. I then sorted by favorite points in GSAK and the cache with the most favorite points only had 140. That’s strange. I knew that the Earth Caches and Virtuals in Niagara Falls were between 150 to 200 points.
So I did a bit of searching on the GSAK forums and quickly found out what was going on. It turns out that there is a distance limit in the API. You’re limited to 50km radius if you specify a center point and 100km corner to corner if you specify a bounding box. I also found out that a warning was added in the latest GSAK patch regarding the limits:
That was rather disappointing. It pretty much makes the filtering useless. If someone wanted to find a Webcam for example they would be out of luck if there weren’t any within 50km of their search point. With a pocket query however they could select an origin of None and pick the States and Provinces they wanted to search. As long as they don’t search for something common that maxes out the PQ, they’ll get all the results in their search area.
If they wanted to search for something more common they can specify a search point and a limit of 800km (select 500 miles in the PQ). That’s 16 times greater range than the API allows. So for finding a certain type of cache Pocket Queries beat the API hands down.
This got me thinking. How useful would the API be for populating your GSAK database for day to day use. I did a search from my home coordinates and got around 4200 caches within 50km. That’s not bad at all. I filtered out my finds and still have 2100 caches to look for. That’s more that enough to keep the “close to home” cachers busy for a while.
I’m not a “close to home” cacher however. Over 40% of my finds are more than 50km away and 32% of my finds are 50 to 100km away which is only a 30 to 60 minute drive. I would have to do multiple API queries along the edge of the 50km radius circle to pick up those caches. That would give overlaps and holes in the coverage.
With Pocket Queries I have multiple queries set around my home coordinates with different place date ranges. In 2 days I can get all the unfound caches within 100km of my home. For the close to home cachers the API wins with it’s ease of use. For the cacher that likes to travel Pocket Queries are the way to go.
I started wondering, how would the 50km limit affect me if I lived somewhere outside the Golden Horseshoe. I did a 50km query centered on Owen Sound. I was expecting a couple of thousand caches but was surprised to only see 577 results. I then tried somewhere a bit more remote but still a large city. I did another 50km query centered on the City of Sudbury. I only got 506 results this time. And these are fairly large population centers. Small towns in Ontario’s north would get even worse results.
Using a Pocket Query you can get a 1000 caches easily. I tried one centered around Sudbury, and it stretched out to just over 100km from the search point to get them all. And this would expand out to the 800km limit as you find those caches and they’re excluded from the query. Pocket Queries seem to be the better choice for those outside of major urban areas.
As a comparison I tried the OpenCaching.com API to see what limits it had. Turns out it’s 5000 caches per request. I tried three requests centered on Mississauga, Owen Sound and Sudbury. Each time I received 5000 caches stretching out around 1200km from the search point.
For the close to home cachers in large urban areas the new Get Caches Geocaching API function in GSAK is all you really need. For those who like to cache in a large area or are in an area with a low cache density Pocket Queries would prove more useful. Those looking for specific types of caches will have to use Pocket Queries as the 50km radius limit doesn’t let you find much at all.