[Touch Diamond, MDA Compact IV General] low.flying.pigs:
Hello Blaustein / Klaus,

Many thanks for 4.12beta13 and the source code. Appreciated as always.

Preliminary indications are that 4.12beta13 drastically improves, if not resolves, displacement and display along bottom width issues introduced with 4.12beta11 which remained in 4.12beta12. Calibrated .jpg maps untested.

Whereas zoom was limited previously to level 23, it is now possible to zoom beyond that whereupon GCC crashes with an unexpected error as per the attached 412beta13_zoom23plus_crash.txt

The .kml file highlighted previously loads now without issue.

During the course of earlier testing displacement and display along bottom width issues, assorted other issues were observed, and improvements became apparent, details of which are now below.

A displacement issue remains at lower zoom levels, as per screen grabs 1 - 9. Without mapping at the applicable levels, which not all OSM tile servers provide, the issue would not be apparent.

To observe, load the same example .gpx and download OpenCycleMaps (or any other working mapping that provides tiles at the lower zoom levels) using GCC (or by whatever other method from a OSM tile server) (if necessary, in GCC, enter 53.71, -0.45 as coordinates to display roughly the area in the screen shots)

The map screen does not correctly handle the OSM format. For instance, at level 0 the format provides 1 tile, at level 1 the format provides 4 tiles, at level 2, the format provides 16 tiles, and so on. However, if the map screen is shifted left or right of the edge of the OSM tile limit, GCC will nonetheless attempt to load adjacent tiles that inherently do not exist, with the resultant 404 Not Found Error, as per screen grab 9. As a symptom of the same issue, when shifting left, the folder structure according to the display top right actually goes negative, as per screen grab 10. There are other symptoms of this issue, but do not require documenting as these will be inherently also resolved, such as invalid coordinates and should 'Nan' become displayed, zoom buttons stop working and only double tap on the map screen allows a way back to usuable map screen without exiting and restarting.

When a 404 Not Found Error occurs, it persists on screen for a while, even when no longer applicable, obscuring coordinate information as they both display in the same area, as per screen grab 11, taken after zoom out to level 0 and back to level 3 and tapping in the sea somewhere to give a coordinate display.

File handling can be further improved. Example files here:

.gpx file handling can be adapted to either enable usage of, or display a meaningful error, when a .gpx file that does not contain track data, but instead route data, such as .gpx route files from gpsies.com. Route data therein could either be used as is, converted to track data and used accordingly, or the existing 'Error loading file Error reading file or it does not have track data' displayed instead. Currently non of these occur, the map if available being displayed instead leaving the user with no indication of what happened or why.

.kmz file support direct can be added. These are zipped .kml files but with a .kmz filename extension. Files are often distributed in this format, which is commonly supported directly by cycling computer software. DotNetZip may be a solution to initially unzipping the file to a temporary location, which then loads as a .kml file using existing functionality.

Downloading Maps using GCC:

The existing osm_servers.txt created by GCC when first run is outdated.

A corrected osm_servers.txt is attached. GCC will require adapting accordingly.

Mapnik is not working. It appears to no longer accepts zoom/x/y.extension URL tails. See here. Note at the time of writing, the content on this page is not entirely up to date or complete.

OpenPisteMap is not currently working, and OpenPisteMap Landshaded, whilst working, both have not been updated since 2012. See here and here.

Reit&Wanderkarte is not working. The URL may have changed and / or it may no longer be available. See here.

Cyclemap and MapQuest whilst working have changed thier URL's. See here and here.

Four new map sources are available, Hikebikes, Wikipedia OSM, Landscape Map,and Outdoor Map. For licence compliance of the the last two and Cyclemap, attribution and links must be given, which is most easily achieved by updating Readme.htm. See here.

In the 'Set map files location' configured via Menu > Options > Options Screen, GCC could automatically create a folder for each entry in the osm_servers.txt file, for instance, OpenStreetMap; creating a folder named OpenStreetMap. Within each folder, GCC could also automatically create a server.txt file with appropriate content. GCC could auto enable download (this part may require additional thought). Users existing maps would not be affected, the folder simply requiring renaming as appropriate if applicable. Separate map sources are kept separate, creation of custom maps with content from different sources is simplified by copying the required parts to a new folder. This would ease usage of maps, and facilitates the following:

In the map screen, selection of map via context menu could be enabled. Press and hold displays the context menu, a new option 'select map' when chosen then displays another context menu with a list of maps, the names derived from the folder names in the maps folder. This much decreases the number of presses currently required to change maps.

Sometimes tiles will not download, and a 404 Not Found error is shown in the top right, even though tiles are actually available. It can be observed using maps from many download sources. The exact circumstances of this issue require further investigation. It may be delay in receiving data from the tile server for whatever reason causing GCC to timeout and not retry. This is not necessarily strictly a GCC issue, however it may be possible to handle it better. Further investigation of this issue is required.

Sometimes tiles downloading gives the appearance the map screen has frozen, when in fact tiles will appear. This tends to occur when zooming and scrolling, i.e. presumably when sending lots of requests to the tile server. This is not necessarily strictly a GCC issue, however it may be possible to handle it better. Further investigation of this issue is required.

As some tile servers utilise subdomains to spread traffic and allow more tile accesses at once, (those with URL's starting http://a. or http://c. ) it may be the case the above two issues may be improved with these tile servers by sending some requests via alternate subdomains, http://a. http://b .or http://c as applicable. See here. To utilise this would require the current GCC implementation be adapted accordingly.

Further information to be added.

low.flying.pigs