Apparently ro.coord.eu works fine for now... |
||
|---|---|---|
| geojson | ||
| maps | ||
| .clang-format | ||
| .gitignore | ||
| README.md | ||
| api.h | ||
| cache.cpp | ||
| cache.h | ||
| common.cpp | ||
| common.h | ||
| config_user_example.h | ||
| debug.cpp | ||
| debug.h | ||
| geo.css | ||
| geodb.cpp | ||
| geofriends.cpp | ||
| geolist.cpp | ||
| geostat.cpp | ||
| geostat_cli.cpp | ||
| gpx.cpp | ||
| gpx.h | ||
| heat.cpp | ||
| heat.h | ||
| maps.h | ||
| meson.build | ||
| ocdb.cpp | ||
| ocdb.h | ||
| okapi.cpp | ||
| okapi.h | ||
| powertrail.cpp | ||
| powertrail.h | ||
| rating-star.png | ||
| region.cpp | ||
| region.h | ||
| traildb.cpp | ||
| user.cpp | ||
| user.h | ||
README.md
GEOSTAT
Tools for computing various statistics related to Geocaching/Opencaching
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 with geostat_cli, or in a HTML form with geostat) 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 [options]
Generate HTML 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
-q use local SQLite file with dump of OC database
-i timestamp start date
-f timestamp finish date
* Output:
-N compute stats only for unfound caches (works only with SQLite)
-O compute stats only for owned caches (works only with SQLite)
-Q exclude quiz caches from unfound 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
-t draw trail instead of heat map
-a draw animated map instead of heat map
-m map chosen map: Poland, Poland_relief, Poland_big, Europe, World or a name of voivodeship (default = Poland)
-h display this help screen
Other tools
geodb
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
geofriends
Another tools is geofriends. It generates stats for a pair of users regarding their common caching activities.
Usage: geofriends nick1 nick2
Generate HTML stats for user caching intersection from Opencaching data.
geolist
Another tools is geolist. It generates HTML list of caches from a list of cache codes.
Usage: geolist list_of_caches
Produce a HTML list of caches given their OC codes.
Installation
To compile it requires:
- C++ compliler supporting C++17 and a minor subset of C++20 (gcc >=9 or clang =>8 should be enough).
- meson (at least 0.47.0) + ninja build system
- libcurl: https://curl.haxx.se/libcurl/
- JSON for Modern C++: https://github.com/nlohmann/json
- gpxlib: http://irdvo.nl/gpxlib/
- heatmap: https://github.com/lucasb-eyer/heatmap
- ImageMagick or GraphicsMagick Magick++ library
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
ninja install
You might need to set CXX variable to point to a correct compiler.
Credits
-
Maps of Poland
Poland.pngandPoland_big.pngcome from https://pl.wikipedia.org/wiki/Plik:Poland_location_map.svg and are licensed under CC-BY-SA and GNU FDL. -
Map of Poland
Poland_relief.pngcomes from https://commons.wikimedia.org/wiki/File:Relief_Map_of_Poland.svg and is licensed under CC-BY-SA. -
Map of Poland
Poland_powiaty.pngcomes from https://en.wikipedia.org/wiki/File:POLSKA_powiaty.svg and is licensed under CC-BY-SA. -
Map of France
Benelux.pngcomes from https://pl.wikipedia.org/wiki/Plik:Benelux_location_map.svg and is licensed under CC-BY-SA. -
Map of France
France.pngcomes from https://commons.wikimedia.org/wiki/File:France_location_map.svg and is licensed under CC-BY-SA and GNU FDL. -
Map of Germany
Germany.pngcomes from https://commons.wikimedia.org/wiki/File:Germany_location_map.svg and is licensed under CC-BY-SA and GNU FDL. -
Map of Romania
Romania.pngcomes from https://en.wikipedia.org/wiki/File:Romania_location_map.svg and is licensed under CC-BY-SA and GNU FDL. -
Map of UK
UK.pngcomes from https://commons.wikimedia.org/wiki/File:United_Kingdom_NUTS_location_map.svg and is licensed under CC-BY-SA. -
Map of USA
USA.pngcomes from https://commons.wikimedia.org/wiki/File:USA_location_map.svg and is licensed under CC-BY-SA and GNU FDL. -
Map of Europe
Europe.pngcomes from https://pl.wikipedia.org/wiki/Plik:Europe_location_map.svg and is licensed under PD. -
Map of the World
World.pngcomes from https://commons.wikimedia.org/wiki/File:World_location_map.svg and is licensed under PD. -
Maps of Voivodeships of Poland come from https://commons.wikimedia.org/wiki/File:Podlaskie_Voivodeship_location_map.svg, https://commons.wikimedia.org/wiki/File:Pomeranian_Voivodeship_location_map.svg, https://pl.wikipedia.org/wiki/Plik:Kuyavian-Pomeranian_Voivodeship_location_map.svg, https://pl.wikipedia.org/wiki/Plik:Warmian-Masurian_Voivodeship_location_map.svg, https://pl.wikipedia.org/wiki/Plik:Masovian_Voivodeship_location_map.svg, https://pl.wikipedia.org/wiki/Plik:Lesser_Poland_Voivodeship_location_map.svg, https://pl.wikipedia.org/wiki/Plik:Greater_Poland_Voivodeship_location_map.svg, https://pl.wikipedia.org/wiki/Plik:Opole_Voivodeship_location_map.svg, https://pl.wikipedia.org/wiki/Plik:Lower_Silesian_Voivodeship_location_map.svg, https://pl.wikipedia.org/wiki/Plik:Silesian_Voivodeship_location_map.svg, https://pl.wikipedia.org/wiki/Plik:Lublin_Voivodeship_location_map.svg, https://pl.wikipedia.org/wiki/Plik:Subcarpathian_Voivodeship_location_map.svg, https://pl.wikipedia.org/wiki/Plik:West_Pomeranian_Voivodeship_location_map.svg, https://pl.wikipedia.org/wiki/Plik:%C5%9Awi%C4%99tokrzyskie_Voivodeship_location_map.svg, https://pl.wikipedia.org/wiki/Plik:Lubusz_Voivodeship_location_map.svg, https://pl.wikipedia.org/wiki/Plik:%C5%81%C3%B3d%C5%BA_Voivodeship_location_map.svg and are licensed under CC-BY-SA.
-
Data about administrative boundaries of Poland comes from OpenStreetMap via https://wambachers-osm.website/boundaries/.
-
CSS tricks used to render histograms are based on https://css-tricks.com/making-charts-with-css.
-
Website uses https://github.com/CaptainCodeman/gif-player to display gifs.