Matthew Hague [Sun, 28 Sep 2014 21:20:22 +0000 (22:20 +0100)]
gps babel filters must be applied between the input and output options (separate from other options that must be passed first), implemented version of a_babel_convert_from and a_babel_convert_from_url to handle this properly
Rob Norris [Mon, 15 Sep 2014 20:04:05 +0000 (21:04 +0100)]
Add and use capability of defined area by min/max lat/lons for map types.
Various tile servers have differing coverage extents by area.
Thus don't need to generate download requests that we know are going to fail.
The area levels can be customized for new maps.
NB this only caters for a simple rectangular bounding box, rather then bounding polygon.
All built in maps have world wide coverage.
Only the extension configured map CalTopo is effected limited area to the US.
Rob Norris [Mon, 25 Aug 2014 13:57:52 +0000 (14:57 +0100)]
Add and use capability of defined individual map types zoom minimum and maximum levels.
Various tile servers have differing zoom extents.
Thus don't need to generate download requests that we know are going to fail.
The zoom levels can be customized for new maps.
NB this only caters for zoom levels that don't vary across the world.
It is possible some tile servers support differing zoom levels in different regions.
Rob Norris [Wed, 13 Aug 2014 00:04:55 +0000 (01:04 +0100)]
Enable Cache conversion in the Python tool viking-cache.py
Includes method to move an existing cache from the legacy format to the more standard OSM layout.
For simplicity it uses an id to fixed name rather than trying to parse any maps.xml.
Rob Norris [Wed, 6 Aug 2014 22:02:46 +0000 (23:02 +0100)]
[QA] Add warning if file rename fails.
Probably shouldn't claim download was a complete success,
but at least it may help to explain a mysterious issue
(especially if fn is set to "" which I did for dev purposes)
Rob Norris [Fri, 1 Aug 2014 17:41:11 +0000 (18:41 +0100)]
Extend toolbar code for usage with Viking.
Features:
. Handling multiple toolbars (one for each window)
. Not just simple actions but also toggle actions and groups of radio actions
. Preferences integrated with Viking's preferences mechanism.
- Toolbar icon size, icon style and toolbar location (below or beside the main menu).
. UI definition for Viking's default toolbar
Rob Norris [Sun, 20 Jul 2014 09:27:24 +0000 (10:27 +0100)]
Prevention of crashing in mapcache when tmp variable is NULL.
I haven't been able to trace why/when tmp becomes NULL,
but at least one user has encountered this condition.
Thus add protection against deferencing a NULL pointer.
Rob Norris [Mon, 2 Jun 2014 21:35:44 +0000 (22:35 +0100)]
SF Features#95 - Part 2: TimeZone lookup based on an object's position.
For the 'World' time reference frame,
use the k-d tree method (http://en.wikipedia.org/wiki/Kd-tree) to quickly retreive
the nearest location to the given position.
Then get the timezone associted with that position to use for the time display.
Thus for example a track's time will be displayed in it's timezone rather than the user's current local time.
Rob Norris [Mon, 2 Jun 2014 21:39:05 +0000 (22:39 +0100)]
Create timezone lookup file derived from geonames.org
More specifically is it derived from:
http://download.geonames.org/export/dump/cities15000.zip
(using the script timezone-lookup-create.sh to extract only the fields needed by Viking)
This work is licensed under a Creative Commons Attribution 3.0 License.
Rob Norris [Mon, 2 Jun 2014 21:20:56 +0000 (22:20 +0100)]
Add kdtree C code version 0.5.6 from https://code.google.com/p/kdtree/
"kdtree is a simple, easy to use C library for working with kd-trees.
Kd-trees are an extension of binary search trees to k-dimensional data. They facilitate very fast searching, and nearest-neighbor queries.
This particular implementation is designed to be efficient and very easy to use. It is completely written in ANSI/ISO C, and thus completely cross-platform."
The 'Positional Local Time' setting will attempt to work out the timezone at the position of the point (or Track's center)
For the first stage of implementation a simple longitude to hours offset calculation is used (longitude/15).
This will become the fallback when the real lookup implementation is added.
Rob Norris [Sun, 11 May 2014 21:04:41 +0000 (22:04 +0100)]
Add and use preference in whether a name is requested when creating a new track or route.
The name can of course be changed after the track or route is created,
so now you are not forced to even think about naming it first if you don't want to.
Rob Norris [Tue, 27 May 2014 21:45:50 +0000 (22:45 +0100)]
SF Bugs#106: Fix incorrect location on opening .vik file saved in different locale.
Enable reading in of decimal values that may contain either '.' or ',' as the separator.
Need to use modified version of strtod() since the standard C library does not support reading in values from a different locale.
Ideally Viking shouldn't have saved these values into the file in a locale dependent manner,
but for a few values this is the case (ever since the first public release of Viking).
Thus to maintain backwards compatibility need to handle standard variations of the decimal separator.
Selected strtod() from the Sanos project for it's simplicity
(compared to 'David M. Gay' version: http://www.netlib.org/fp/dtoa.c - which may handle extremes of precision better - but such values aren't encountered in Viking)