I am, as you will see, truly insane. Warning: I'm not sure if this condition is contagious. It may be. We'll find out together.
My requirements (or: why I do this)
Much of what I need was actually the reason I started creating geoqo in the first place. I wanted to do things I doubt anything could handle (and if it did, I'm sure it didn't run natively on linux which I use the most).
Output Needs: Where my data ends up
One of the issues is that I have multiple places where my caching data goes to:
- My Garmin Etrex Vista (B/W)
- limit of 1000 waypoints (ARG!!!)
- I don't want anything in it but geocaches because of the limited memory size
- My TomTom Palm Application
- this requires each Point of Interest to be in individual files
- I have a lot of memory in this, so I want everything in it (including waymarking data points)
- My CacheMate database
- This needs everything but I separate out different regions into different files
- My GeoNiche program
- I rarely use it, but when I'm with people without a GPS I do.
- Also can take everything on my palm card, but I do it in different regions to keep the "current" memory footprint small.
All of the above requirements makes me do some insane things.
- extra waypoints for geocaches (parking, trail heads, multi-steps)
- waymarking (wifi hot spots alone is worth it)
- geodining? (soon)
- my own data points (home, etc)
My description breakdown
First, my search criteria
My pocket queries are already named, so I use those names to search by using geoqo's Sets that are automatically given to you when you import a gpx file. The extra waypoint data (E.G. parking) are also in a set.
But, I don't want puzzles I haven't solved.
So first, I have a mem: definition for standard search criteria I use when about to export stuff to all my devices:
( # only # anything that isn't a geocache # or the subtype is not "Unknown" (IE, exclude puzzles) # or the puzn (north puzzle answer) attribute is set: # or unless the "infield" attribute is set # or anything that isn't a geocache (waypoint:type<>Geocache ||cache:subtype<>Unknown ||attr:puzn<=>0 ||attr:infield=1) # but restrict the above results to exclude events # XXX: need to fix this actually; I do want them in my palm &&(waypoint:type<>Geocache||cache:subtype<>Event) # exclude things that I've found (marked with the found attribute) # found=- means the attribute doesn't exist # found=0 means it exists, but is 0 (so I've explicitly marked it not found) &&(attr:found=-||attr:found==0) )
That file is placed in $HOME/.geoqo/mem/search/stdfilter.
Then I can use that when doing more specific types of searches. For example, I have a "set1" mem: definition as well that calls the above definition:
(set:import:%[set1/near me] ||set:import:%[set1/near me]:waypoints ||set:import:%[set1/near me]:waymark1 ||set:import:%[set1/near me]:waymark2 ||set:import:%[set1/near me]:waymark3 ) &&mem:stdfilter
(when I import a waymarking .loc, I specifically set the name to a normal set name but with :waymark1 (...) on the end)
Finally with all of the above in place, I can do this:
geoqo -s mem:set1,set1=hawaii
to get all the caches (and waymarks) in hawaii matching my search requirements into my search results.