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, …).
- Using OSM-based garmin image files with Garmin portable GPS devices or a classical computer (applications like QLandKarte GT or BaseCamp)
- 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).
- 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.
- Maps on a Stick
- MapFactor Navigator Free
- There are a bunch of apps based on the Mapsforge framework, see examples at . Quite active development in these days especially on Cruiser (android app) and Atlas_(navigation_application) (Java app for desktop PC)
- A Pre-rendering tiles for offline viewing HowTo by volkerschatz.com
You can use OpenStreetMap for lots of things, but Routing is the most important one. There is two tools for this Navit and Gosmore. You can download OpenStreetMap maps packs for navit which were prepared by CloudMade.
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.