Using online and offline basemaps to maximise resolution

Please read the following articles first: Understanding basemaps, MBTiles files and offline projects and Understanding online and offline projects.

Consider the situation where an organisation is responsible for assets that are located both in cities and remote regional areas. An example could be a road authority that inspects roads in built-up areas and remote country areas.

In remote areas there is no internet connectivity and a Konect project must be marked as an offline project so that all the datasets and any mbtiles files, also called offline basemaps, are downloaded to the client device.

Typically mbtiles files are not high resolution because as the maximum zoom level is increased, the number of tiles required can be large. This means that the time taken to generate the file can be long (of the order of days) and the file can be gigabytes in size requiring long upload and download times. Thus, the maximum zoom level is usually about 17 depending on the size of the geographic area covered by the mbtiles file.

By contrast, built-up areas have internet connectivity and there is no need to make Konect projects offline. Basemaps typically have a maximum zoom level of 21 and show considerable detail which can be useful, even necessary, in such places.

How can an organisation get maximum basemap resolution at all times, both in the city and country, while editing the same underlying data?

One solution is to have two projects using the same dataset, one offline and one online. The offline project would have an mbtiles file and the online project would use the (online) basemap. There are two disadvantages to this setup:

  1. When internet connectivity becomes intermittent the online project will start to fail unpredictably and the user must pre-empt this by deciding when to move from the online to the offline project and back.
  2. Edits to the same dataset in the two projects are not immediately visible in both projects. The offline project has to be synced for the projects to show the same data

The best solution is to use two offline projects that both reference the same dataset (or datasets.)

One offline project, call it ‘Country_Project’, has an mbtiles file and is used in either the country or the city. The other offline project, call it ‘City_Project’, does not have an mbtiles file and uses whatever basemap it has been assigned. The user can switch to this project if and when greater resolution is required in the city.

This solution relies upon two Konect principles:

  1. Offline projects on the same client device can access the same dataset and only one copy of the dataset is downloaded to the device.
  2. An offline line project can use an online basemap until it has no internet connectivity, at which point it can only use tiles that have been previously cached on the client device.

This solution has three advantages:

  1. The user can switch to a project whenever they choose and do not have to predict the loss of internet connectivity. The ‘City_Project’ can be used when in the city and more resolution is required and the ‘Country_Project’ can be used when the online basemap starts to show chequered tiles.
  2. Because datasets are on the device are shared between the two projects they are always up to date. Edits made to a dataset in one project are immediately visible in the other project because the same offline dataset is being used in both projects. When switching between the two projects exactly the same data is visible.
  3. Maximum basemap resolution is available whenever there is internet connectivity simply by switching to the ‘City_Project’.