TMJ-Mobile & OpenStreetMap Vector Maps

TMJ-Mobile has for some time supported maps in bitmap/raster format, which are generated offline using the MapOrganiser before transferring to the phones memory card. Whilst this does have some advantages, there are drawbacks in using raster-based images - they cannot be easily scaled or rotated, and the phone essentially has no idea what it is displaying - it is simply overlaying a location marker onto a flat image.

Therefore, over the last few months development has been progressing on integrating OpenStreetMap vector map data into TMJ-Mobile. This involves the conversion of the raw OSM data into vector map tiles, similar to the raster tiles currently used on the OpenStreetMap website, but instead of each tile being a simple PNG image, a vector tile holds the coordinates and metadata needed to draw the various lines and shapes in the tile from scratch.

Known Issues with the Maps

  • Slow display on some phones!!! Drawing vector maps is not easy - it is relatively straightforward for a phone to draw a flat raster map image onto its screen, but in drawing a vector-based map it has to plot every item individually, by splitting it up into basic geometric shapes, then reprojecting and redrawing each vertex coordinate on every screen update (potentially several times a second). Whilst there are various optimisations that can be applied to this process, it still remains very processor intensive so please be warned that some phone models may not be able to display the maps at their best quality whilst still delivering a responsive interface.

  • Map conversion has been mostly tested and calibrated using OpenStreetMap data from around London and Surrey in the UK. Other areas that use different tagging methods/styles might not display quite as well. For example streams, waterways and canals in the Netherlands don't display very well when zoomed-out. Also, areas that have very detailed OSM coverage are slower to display than less detailed areas (a significant drawback of vector data compared to raster).

  • Not all OSM tags are supported - check the OpenStreetMap Features page for a complete list of included tags. Note that OSM 'Relations' are currently not used at all in the tile conversion process so areas defined using 'Multipolygons' may render strangely.

  • Currently the Sea/Ocean is not rendered at all, which can look slightly odd in areas that contain a lot of coastlines.

  • Bug: OSM 'areas' occasionally lose sections of their boundaries, leading for example to Londons South Bank walkway being shown as flooded by the Thames at zoom level 10.

  • Bug: when rotating/tilting the map the display occasionally gets corrupted by random triangles covering areas of the screen. This is due to the simplifications needed in the 3D transformation, not a huge problem but occasionally a bit irritating.

  • When tilting the Navigation view by more than 30 degrees any dotted lines are instead shown as a solid line (to overcome a strange graphics-related bug on some phones)