geostat/README.md

4.7 KiB

GEOSTAT

Sample web interface

A sample web interface to play with the tool is available at http://tomaszg.pl/geo/.

Usage

The main tool is called geostat. It is able to access opencaching.pl via OKAPI or from local database dump maintained by geodb. It can also partially read GPX files, e.g. exported from c:geo. It produces various statistics (either as text output, or in a HTML form) and renders a heat map of found/not found caches in a selected region. HTML output requires a style sheet. Sample one is included as geo.css.

Usage: geostat [-o] [-g file] [-qn] [-MDHLTOYh] [-s size] [-m map]
Generate stats from Opencaching data or GPX files.

 * Data sources:
	-o[user]	use Opencaching; if specified user will be a user name used for all OC instances
	-p user		user for opencaching.pl
	-d user		user for opencaching.de
	-u user		user for opencaching.us
	-n user		user for opencaching.nl
	-r user		user for opencaching.ro
	-k user		user for opencaching.uk
	-g file		use specified gpx file
	-q		use local SQLite file with dump of OC database
 * Output:
	-W		output all data in HTML format
	-N		compute stats only for unfound caches (works only with SQLite)
	-M		print geographically extreme caches
	-D		print furthest and closest caches
	-H file		render a heat map to a file
	-s n		stamp size for a heat map (default = 15)
	-e		use exponential to flatten the heat map
	-m map		chosen map: Poland, Poland_relief, Poland_big, Europe or a name of voivodeship (default = Poland)
	-L		print all caches
	-T		print D/T matrix
	-O		print owner count for found caches
	-Y		print types count for found caches
	-h		display this help screen

There is a helper program geodb which manages local SQLite database. It can initialize the database from full data dump or update it according to changelogs grabbed from OKAPI.

Usage: geodb [-i path] [-uh]
Manage local Opencaching database.
	-i folder	initialize database from dump located in given folder
	-u	update database with changelogs grabbed via OKAPI
	-h	display this help screen

Installation

To compile it requires:

To build the project copy config_user_example.h to config_user.h and fill it out (at least API key is needed). Then run meson build; cd build; ninja. You might need to set CXX variable to point to a correct compiler.

Credits