Map Style Improvements

Answered

Comments

53 comments

  • Avatar
    Christian

    This workaround is great, but it is a workaround and not a solution!

    Thanks to Toni and Andre for the effort to improve the map style. But I would expect to have a solution from the Hamerhead Team.

    I am realy disapointed with the map on the Headunit. I bought it for routing on a great display with OCM, what I got is a  headunit where the information of the map is reduced by no reason.

    The workaround from Toni and Andre is only temporary until the next map update, so its no permanent solution!

    Let the useres decide if they want the whole map or a reduced version. There is plenty of storage availibel on the headunit.

    In my case I need the map of Austria and every once in a while Slovakia, Slovenia, Czech Republik. So there is still enough storage left.

    Most important are details like national and international cycling path and many of water refuell stations which, thanks to the useres, are availiable as POI in the OCM map.

    On the fly routing to an waterstation for refilling is a great feature i summer time.

    With the map and roting features as implemented now I wont get happy with the unit.

    Please make it free of choice to the user what detail grade the maps have!

     

    Thank you!

    Christian

    5
    Comment actions Permalink
  • Avatar
    František Cimmer

    @Christian I definitely agree. I will receive my unit this week, but details of maps are mandatory. There are plenty of marked hiking routes which are suitable for cycling (MTB, Gravel) here in Czech Republic. In Slovakia, Austria, Germany, Slovenia also. These routes goes thru forrests, countryside. There are also local cycling routes (different marks) on roads overlaying with hiking and international. System of hiking routes in these countries is really huge and sophisticated. All major local internet maps has overlays for for tourist maps which contains it.

    And I definitely want them on my map for planning and orientation (in terrain also), because of quick terrain orientation (marks on trees, roks, pointers on roads and so on).

    3
    Comment actions Permalink
  • Avatar
    André A.

    jeff 🙃

    you are wrong, the change is not a small thing!

    1. the file /sdcard/offline_v5.xml (map style file) is included in the program code. if you delete it (no problem!), it will be created again the next time you call up the map 😎

    2. this file was probably copied from another source and simplified by hammerhead. this file is more or less wrong, but still works. why it is wrong? the definition of the xml file does not match the attributes and elements. this was not validated correctly in an editor.
    the file contains a mix of vtm-style definitions and mapsforge definitions. however, the program only uses the vtm-style.
    to put it simply: many things in the file do not work.
    this must be fixed FIRST.

    3. you may want to see the bike routes. others may not want to. or maybe only sometimes. how can you solve this?
    by editing the xml file? you can do that.
    but better is the following:
    you can declare a "stylemenu" in the style file (this is an existing feature of this format and the entire application!) and make different components selectable there. in the application itself, this menu must then be displayed, where you can then activate your features individually. this is how it works in many (almost all?) navigators.
    I have created such a file, but neither the menu is displayed nor the definitions (show or don't show) are respected.
    this does not have to be programmed separately, because there are libraries for this, which hammerhead also uses, but you have to familiarise yourself with this topic. remember: karoo is used by many users. if there is suddenly chaos with the map after an update, it is a catastrophe. this must be planned exactly and tested well!

    4. the maps would have to be offered in 2 variants or the complete maps would have to be taken (file size!). this would have to be configured somewhere by the user. this cannot be thought up and implemented in 10 minutes.

    5. the map update routines in karoo must be changed. currently, switching off wifi and activating flight mode does not help, because karoo still downloads the maps in the background without being asked and thus replaces its own maps again.

    6. are there any licences to consider when using free maps in a commercial project?

    there are many other points i can list, but this should be enough for now. i think we have to wait a few more days for an answer. but i think hammerhead thinks it's a great idea and is perhaps already collecting ideas for implementation 😉

    3
    Comment actions Permalink
  • Avatar
    Steve

    Ideally, this would be handled within Hammerhead Dashboard > Settings and the resulting offline_v5.xml pushed directly to your Karoo, in the same way that other settings can be managed from the Dashboard and pushed to the Karoo.

    Users should be able to select the style of maps, level of detail, POIs, and other details they want to push to their Karoo from this web app, including the ability to customise the visual style of how certain routes are highlighted on the maps.

     

    3
    Comment actions Permalink
  • Avatar
    Christian

    Dear Hammerhead Team,

    Can you report any positiv progress on this map style, map details theme?

    I did a free ride yesterday  and it was reallyy dissapointing that even a european main cycle route like the EuroVelo9 was not shown on the headunits map!!!

    However, fragments of an 2digit cycle route where shown?!? what, why?

    numbering model for cycle routes=

    1digit: main route

    2digit:beside routes

    3digit: local connecting routes

    I really dont know whats the reason behind this bad map style on the headunit?

    Please get an unrestricted version of OCM running on the headunit, otherwise the whole headunit map display is truly usless.

    (in my opinion and I quess also for many other customers who expected " the worlds finest cycling computer")

     

    best regards!

    Christian

    3
    Comment actions Permalink
  • Avatar
    André A.

    it's a pity that my contributions are no longer wanted here. in future i will publish my findings on strava and komoot and share them with dcrainmaker.

    3
    Comment actions Permalink
  • Avatar
    André A.

    @jeff

    the maps from mapsforge have nothing to do with the maps from mapbox. mapbox provides various (paid) api's with which you can use offline and online navigation maps.

    for android offline maps, mapsforge has turned out to be the most flexible variant. a great many manufacturers rely on mapsforge maps (e.g. wahoo for elemnt bolt/roam). most android apps that work with offline maps use maps from mapsforge. either the original maps from mapsforge or self-generated maps for own special use cases.

    regarding some information on mapsforge / karoo maps and styles i wrote a post here that unfortunately was not published. in it i describe the current difficulties why some details will probably never be available in karoo unless hammerhead moves:

    3
    Comment actions Permalink
  • Avatar
    Steve

    I tend to agree with much of what is being said in this thread. The level of mapping provided is already starting to alienate some gravel and mountain bikers here because the level of detail is insufficient.

    Controlling Ant+ lights is such a first world problem. If there are alternative methods of turning lights on and off (like a physical button!) then this is not a high priority item in your backlog. Displaying national and regional cycle routes on a cycle computer really lives in the "must have" bucket and really should be permeating its way towards the top of your backlog, if it isn't already.

    3
    Comment actions Permalink
  • Avatar
    Abhishek Anand

    Hey Toni. 

    Thanks for sharing your suggestion regarding the Karoo map. I will take this to our Software team to see how beneficial it would be for our other fellow Karoo users. 

    Really appreciate you for taking your time and sharing your research with us.

    2
    Comment actions Permalink
  • Avatar
    Jeff Smith

    Hi Toni,

    This is great work and I'm trying to understand the details of the file format, and what can be included and where the tags and values are defined.

    I would love to have the Karoo display the UK National Cycle Network routes.  These are shown on Open Cycle Map, Komoot, even the HH Dashboard, but not on the Karoo itself.

    I have attached a screenshot of a nearby section as queried on OCM.  Is there any way to have the Offline_v5.xml file display these cycle routes?

    Thanks, Jeff

    2
    Comment actions Permalink
  • Avatar
    Jeff Smith

    Could someone from Hammerhead please comment on this, and whether this is in the plans going forward?

    This should require HH changing what the maps it takes from MapBox include (and they should include national and regional bike routes!), and then update the offline_v5.xml file.  This doesn’t seem like a big job, and would be of huge value to many customers - current and future.

    Jeff

    2
    Comment actions Permalink
  • Avatar
    André A.

    maybe it was a mistake to publish this customisation option... the application checks for the existence of the file /sdcard/offline_v5.xml. if this file does not exist, it is generated from the internal source code.

    but this is not necessary at all! so why was this done? answer: because the programmers can make adjustments to the style very quickly this way and don't have to recompile the whole program code over and over again.

    hammerhead can only do 2 things against our "revolt":

    1. stop using the external /sdcard/offline_v5.xml file and use the internal variant in the source code instead. that would be very bad for us as users.

    2. check our suggestions and ideas and create the very best bike computer together 👍🏻

    2
    Comment actions Permalink
  • Avatar
    Toni

    Hammerhead uses Mapforge VTM as their maps engine. In the repository https://github.com/mapsforge/vtm I found a sample that renders maps on the web using the  same stylesheet format used by Hammerhead. Thus, it would be possible to build a web app that lets a user customize the stylesheets and immediately displays the resulting map. 

    2
    Comment actions Permalink
  • Avatar
    Jeff Smith

    Thanks again André, that really helps clarify what is going on under the hood.

    Your suggestion in point 5 of your post seems eminently sensible, and I hope that they take it on board.  As I and others have said (and now for a VERY long time) it is silly to try to claim the best cycle computer with the best maps and screen when you can’t display national bike routes.

    I think your suggestion presents a low-cost way to significantly improve the quality and value of the maps on the Karoo, and to better align them with the Dashboard.

    HH needs to action this IMHO.

    2
    Comment actions Permalink
  • Avatar
    André A.

    the karoo maps only contain selected elements from OSM. the cycling routes are not included (lcn, rcn, icn, ncn) - at least not in the german maps.
    there are a lot of pois and other elements included, which in my opinion are unnecessary for a bike computer (universities, libraries and others). instead, some things are missing, which could be important e.g. for bike packing and long bike trips: fuel stations, shelter etc.

    there is certainly a good reason for this: creating complete maps with all details and pois requires an enormous amount of time and fast modern hardware. besides, such detailed maps are much larger. for example, the karoo map of brandenburg is about 139MB in size. the same map with all details is about 239MB.

    my suggestion would be to offer 2 different map variants: (simple and complete).
    alternatively you can use the maps from openandromaps (they are complete!), but for some reason these maps are automatically replaced by the original maps after some time.

    you should also offer a possibility to load your own mapstyles.

    and a highlight would be if you could configure the display of selected POIs in each style. this is provided with the map styles (keywords "stylemenu", "overlays"...).

    with this feature package, the karoo would have a unique selling point.

    1
    Comment actions Permalink
  • Avatar
    Toni

    André is correct, the Karoo maps do not include the cycling network relations. I have downloaded the Openandromaps file and modified the "offline_v5.xml" stylesheet file by adding a rule like:

    <m e="way" k="network" v="icn|ncn|rcn"> 
      <line stroke="#FF0000" stroke-linecap="round" stroke-width="2"/>
      <pathText k="ref" font-style="bold" font-size="10" fill="#000000" stroke="#ffffff" stroke-width="1.5" />
    </m>

    This results in the following maps:

    This screenshot is created using the vtm-playground app from https://github.com/mapsforge/vtm 

    I use this tool to test the stylesheet changes. 

     

    1
    Comment actions Permalink
  • Avatar
    Toni

    I have uploaded the complete stylesheet to: https://gist.github.com/tonithenhausen/1210fddcd07ddf6a4ec87710d24ea222#file-offline_v5_cyclingnetworks-xml

    1
    Comment actions Permalink
  • Avatar
    André A.

    custom maps only work when the device is set to flight mode.

    the karoo software checks the maps in the background:

    RegionsService: Downloading regions manifest from https://nav-cdn-prod.api-hammerhead.io/v1/manifest.json

    this file contains the md5 checksums and file sizes of the original map files. it then checks whether the checksums of the map files are correct.

    this procedure is ok because it checks whether a map is out of date and needs to be updated.

    example berlin.map:

    md5 checksum of the original file is current 6def2135f7ee2969746291ab7b63ae48
    the checksum of the openandromaps map of berlin is currently 780f363566da3612b8048268b3c5c857

    the karoo software "thinks" that the openandromaps map is an outdated karoo map (because of the wrong checksum) and therefore downloads the "current" map and replaces the better openandromaps map with the original karoo map.

    because i didn't know this at the beginning and have a sim card in karoo, i "lost" 1.5GB of data traffic senselessly within 3 days.

    too bad...

    you can only prevent this unsolicited and in our case unwanted replacement of the map(s) by deactivating all network operations (flight mode). however, uploading activities or synchronising with the HH dashboard will then not work (and much more).

    But there is a simple solution:

    in karoo // settings // offline maps add the following settings/switches:

    1. automatic map update (ON/OFF, default ON (for compatibility reasons)).

    2. download map updates only via wifi (ON/OFF, default OFF (for compatibility reasons))

    these settings can be used to prevent enormous data traffic from being generated via the sim card. and these settings can be used by experts to use maps from openandromaps with their own map styles, which are much better and more comprehensive than the karoo maps.

    i'm thinking of selling my karoo2 again because of these problems (automatic activation of wifi even though i disabled it before, unasked replacement of high quality maps with simple maps, and many bugs and inconsistencies in the software and device configuration).

    1
    Comment actions Permalink
  • Avatar
    Ali

    Hi everyone, we are monitoring this thread and interesting to see such engagement. There are no immediate plans to incorporate all the inputs from this post on to the Karoo, but there will gradual improvements as planned - A couple of these style improvements are "on the list" such as bike networks.

    1
    Comment actions Permalink
  • Avatar
    Jeff Smith

    This thread, for me, is very valuable indeed, and I value people’s input greatly.  Since one of my favourite cycling activities is touring, the maps are a key feature of the Karoo.  The input from this thread has allowed me to make a few changes that really do enhance what I see from the maps.  The small effort by me significantly increases the value of the Karoo for me.  So thanks to all!

    I don’t confess to be a current programmer, but what would work for me would be:

    • Availability of two levels of map file - basic or high detail
    • The ability to select visibility of features on the map such as cycles lanes, road names, cycling networks, and then poi details, maybe basic or high.

    In terms of implementation, there would be a map detail selection page in Settings, and perhaps a programmatic generation of the .xml file based on the user settings.  A refinement would be to allow the user to provide a offline_v5_override.xml file to make advanced personalisation possible.  I don’t think that the rendering process would be too severely affected.  

    I write all this based on my outdated knowledge of programming, no knowledge of how rendering really works internally, and with some limited experience of editing the xml file.  

    I do believe the quality of the maps is a key feature of the Karoo with its excellent display, and I would encourage HH to put some targeted work into this area.  

    (Thanks Ali for your comment)

    1
    Comment actions Permalink
  • Avatar
    André A.

    i have been analysing different maps and their creation processes for a few weeks. i have come to the following conclusion:

    the creation of a map is done with a free map creator software in connection with freely accessible geo and openstreetmap data.
    with a simple configuration file you can determine which roads and pois from openstreetmap should be included in the map ("tag mapping").
    it sounds simple, but it's not! this is due to peculiarities in different regions and the sometimes inconsistent processes at openstreetmap itself.

    that is why there is the possibility to work with additional scripting filters in the map creator software, with which one can very successfully take into account the many special features. this is very complex but very effective. to my knowledge, hammerhead does not use this filter technique.

    but despite these filters, the process described is still not sufficient! for example, complete relations (hiking or biking routes) cannot be mapped with the standard procedure. this is why they are missing from karoo's maps and also from mapsforge's original maps.

    openandromaps has therefore elaborately developed its own programming techniques and is also the only one that can create android maps with all the special features for hikers and cyclists.

    the maps of openandromaps are therefore created in a very complex way and not with the standard procedure. therefore, own tags are also created in the filter process, which can then be used later by the user himself via the styling file. however, this has the consequence that the style file of karoo (rudimentary standard style standard) is not fully compatible with openandromaps maps!!!

    i think hammerhead should contact openandromaps and try to work together. this will free up resources at hammerhead to improve and develop karoo's software.

    if this doesn't happen in the near future, i will sell my karoo. there is absolutely no reason to buy a karoo, because a smartphone can do all this much much better at the moment. there is enough bike computer software with bluetooth and ant connection for the integration of various sensors.

    1
    Comment actions Permalink
  • Avatar
    Jeff Smith

    Hey André, I’m sure that I am among many who very much appreciate your efforts and contributions and I hope that HH do too, and that your post are approved.

    One thing I don’t understand is why the Dashboard maps (at least for France and the UK where I have looked) do very clearly show national routes - e.g. Eurovelo routes.  Why is it so hard to generate the same maps for Android when it can be done for the browser?

    1
    Comment actions Permalink
  • Avatar
    André A.

    @Jeff Smith

    these are completely different techniques. on a website *anyone* can embed maps with different data layers via an api. this has nothing to do with hammerhead or the maps of hammerhead.

    why the routes are shown on the website maps is easy to explain:
    the complete database of openstreetmap is accessed. thus all features are visible.

    with android maps (karoo, openandromaps, etc etc etc) you have to decide yourself as a developer which of the many thousands of features of the database should be integrated into a map.

    in other words: if you equip the "best cycling computer" with bad maps for navigation, it is not the best cycling navigation device, but only the "best cycling computer".

    1
    Comment actions Permalink
  • Avatar
    Jeff Smith

    Ah - I see, thanks for the clear explanation.

    I had the wrong model in my mind.  I thought that when I used the Dashboard I was interacting with a specific HH map filebase on a server, having extracted it via MapBox.  It still seems weird that MapBox can’t generate a map file for the Karoo,using the same selection as is used for the browser.

    Or am I wrong that MapBox is involved in all of this? 

    1
    Comment actions Permalink
  • Avatar
    david donnan

    André,

     

    Perhaps you could apply for this...

    Job Application for Software Engineering Manager/Director at Hammerhead (greenhouse.io)

     

    1
    Comment actions Permalink
  • Avatar
    André A.

    @david

    I already work as a software developer, system administrator, project manager and consultant and have only a limited time budged for further tasks. I believe that this job would be very time-consuming at Hammerhead. There is a lot to do :)

    (but thank you for the compliment)

    1
    Comment actions Permalink
  • Avatar
    Jeff Smith

    Lightning-fast, intuitive software delivers the best mapping and navigation, and most beautiful data, allowing you to explore and achieve your goals.

    I now disagree with two of these claims.  It is nothing like ‘lightening-fast’ when starting up - it is notably slow.

    And as for the ‘best mapping’, how can this be claimed when national bike routes are not displayed?

    I do love the K2, but I just can’t see why the map style issue hasn’t been addressed yet.  I have raised this particular problem for over two years now, and others have been able to offer very valuable insights and approaches to improve it.  It is only by help from this thread that I have been able to fix it by using OpenAndroMaps and the suggestions of how to modify the offline_v5.xml file.

    This needs to be prioritised.  National (and regional) bike routes are a must-have - automatically turning on and off lights is (for me) just a nice-to-have.  Hammerhead is claimed to be led by cyclists (as well as founded by cyclists) - surely the map quality is a very high priority?

    We need to be able to select from a set of map layers - and customise a layer for individual requirements.  It is possible, and even Garmin have user-selectable map layers on their watches now!

    Can we have some confirmation that this issue is recognised as a real need and is on the schedule?

     

    1
    Comment actions Permalink
  • Avatar
    František Cimmer

    I agree with that. National, international, local and also hiking roads are mandatory for me also. I personaly do not need several layers, but that is not question.

    Lights are nice. But not must have. Will watch the changes and will see with my next device which one it will be.

    1
    Comment actions Permalink
  • Avatar
    Oleg Simakoff

    Toni, this is awesome! Thanks for sharing!

    0
    Comment actions Permalink
  • Avatar
    Steve

    It's a +1 from me on this topic.

    Nice work on the render theme, Toni, and a +1 for the UK National Cycle Network Routes, Jeff.

    I can also see these in the Dashboard (indicated by a thin, solid, green line in Cycling map mode and a thick red line in OCM map mode) but not on the Karoo. I'd suggest this is might be a bug with the mapping on the Karoo? Some cycling paths are shown in green on the Karoo, but not the UK National Cycle Network Routes.

    I should like to think that any routes I plan in the Dashboard are accurately represented on the Karoo.

     

    0
    Comment actions Permalink

Please sign in to leave a comment.