TMJ Vector Map Creation


Source Data

The vector map data comes from OpenStreetMap, a free-to-use mapping system which is constantly being updated and expanded by its users. Each day a new 'diff-file' is released, which includes all the edits made in the previous 24 hours.

Vector Map Conversion

After merging the daily diff file into the local database the individual vector map tiles are generated. This is a complex process - generating every tile in the world (there are theoretically over 2 billion of them) each week would be impossible, so instead the tiles are generated on demand, and then cached for a period of time.

Map Zoom Levels

There are 10 levels of zoom. This is less than on the OSM website since each level of TMJ tile is 3x smaller in each direction than the previous level, whereas OSM and Google maps use a 2x zoom. Because the TMJ tiles are vector data they can be individually zoomed in and out to a greater extent than the raster tiles, so the 3x zooming was chosen in order to reduce the total number of tiles that need to be rendered, and also reduce data usage on the phone and website.

Map Tile Server

The map tiles are stored on the TrackMyJourney web-server and downloaded on-demand to TMJ-Mobile via the phones GPRS/3G connection. TMJ-Mobile will then also cache the tiles for future use, which greatly reduces data-usage once they have initially been downloaded - the program can then be used entirely off-line if preferred. If a particular tile is not available on the webserver when it is requested, it is placed in a queue and generated from the OSM source data. This process should generally only take a couple of minutes, but depends on server load at the time. Each users 'Home' location (set in the Account page), is used to anticipate which tiles are likely to be needed - these are pre-processed in advance, therefore its worth setting your home location fairly accurately (doesn't have to be spot on, but at least somewhere nearby your home or office).

Map Caching and OpenStreetMap Editing

Once a tile is generated/reqested it will be cached for a few weeks on the tileserver to reduce server load. Under normal circumstances this shouldn't be a problem, but since the OpenStreetMap data is constantly being edited, a tile can sometimes become out-of-date quite quickly, which is a particular problem if an OSM mapper is looking to use TMJ-Mobile to aid with mapping a specific area. I'll hopefully improve this process as time goes on, but for the moment, if you are involved in organising an OSM mapping party, or are otherwise planning to map a particular area, please let me know (via the Feedback Form) and I'll try to ensure that the area in question is pre-rendered with up-to-date maps.