OpenStreetMap can be used offline, without an internet connection, in a number of ways. In fact some offline offerings can be vastly superior to those of other map data providers, because OpenStreetMap is free (zero cost) and we are free (as in freedom) to download data in bulk. By contrast, commercial map providers will often deliberately use technical barriers to limit offline storage/distribution of their data.
Working offline is helpful for all sorts of reasons. Local storage is often faster than making requests to the internet. If you are travelling abroad, and want to save on roaming fees. For working in countryside locations where 3G connections are unreliable, or underground (ever wanted to browse a map while on the metro?). OpenStreetMap can be used in the developing world, and in disaster zones where internet is not available.
Since OpenStreetMap data has so many uses, and a lively ecosystem of developers creating different tools, there are many options. See the list of available software or other possibilities of using OpenStreetMap. Some experimentation may be necessary to find the tool or tools which are right for the job. Obviously you should do this experimentation while you're still able to download software and instructions!
Using the data offline
Many options exist:
- See the feature comparison tables in the Software lists (subsections for different device classes/operating systems). Look into the column "Stores map-data on-board" (=yes) for offline software and compare the other features (e.g. routing, GPS, …).
- Many apps exist for Android and iOS devices which use offline map data (some only for displaying a map, some for more – e.g. routing). Look at the "Stores map-data on-board" column (=yes). A small selection of popular ones:
- Using OSM-based garmin image files with Garmin portable GPS devices or a classical computer (applications like QLandKarte GT or BaseCamp)
- For downloading (sometimes into a browse cache) tiles (map images) to your computer and then be able to browse the map offline, you can also use the following tools. Note that this method is quite restricted to a small area/few zoom levels due to big size of readily rendered tiles (tile provider usage policies, bandwidth, storage!).
- You can also use applications that will use the OpenStreetMap data in useful ways like Gosmore or Navit, see more in Routing section.
- CartoType is a multi-platform library that offers rendering, routing ans address lookup from offline sources.
- A Pre-rendering tiles for offline viewing HowTo by volkerschatz.com
Rendering data yourself
The web map is rendered by Mapnik or Osmarender, these can be installed on your system to allow you to render maps your way. Osmarender can be used directly in a browser which will be slow, installing mapnik is very possible even with little knowledge about the tools you need to install. There are a few more rendering solutions that can work offline, see Rendering.
While you have an internet connection...
- Download an area of the map (can be one or several bounding boxes)
- Save the data as a OSM XML file on your local disk.
While you're offline without an internet connection...
- Open the file
- Maybe open GPS traces and overlay them on the data (This can also work fine offline)
- Make changes e.g. add local information you have captured while out surveying
- Save changes back to file. The file includes information about all your changes including moving and deleting data.
When you're back to an internet connection...
- Open the file from your disk into JOSM
- Do "File" menu > "Update Data" to re-download the areas you worked on. Resolve any conflicts (see JOSM/Advanced editing#Resolving conflicts)
- Click upload to save the changes to the OpenStreetMap server.
Forked database for multi-user offline use
Trying to support multiple users, is an extension of the above idea. Imagine several mappers together without internet, all using JOSM and uploading/downloading on a local network, to a locally running copy of the OpenStreetmap database and API. Running such a copy is actually pretty easy (The Rails Port is open source). The difficult bit though, comes if you want to resync all the changes back to the central OpenStreetMap database later. A straightforward API install will create problems due to database id numbers being allocated to newly created elements.
Portable OpenStreetMap (POSM) includes a POSM Replay Tool which aims to tackle this