Contents

Get some data

Get an .osm file with the data you want.

This can be done in many different ways, but the most common in this scenario are:

the export feature of the main OSM website. Browse to the map view you want (e.g.), click the 'Export' button at the top, and then the other 'Export' button at the left, and it will prompt you to save a .osm file. (There is a limit to the size of map you can export this way.)

the built-in QGIS method: Vector (menu) → OpenStreetMap → Download Data…. This method requires you to know the extents of the region you want to map.

get the list of available tags ('Load from DB' in the Exported tags section);

and select all tags.

Then click 'Ok' (note that the dialog window doesn't close between each of the above three steps).

Cartography

Updating the data

Re-download using JOSM.

Re-import topology from XML, overwriting the existing .db file as you do so.
Don't select to create a SpatiaLite connection after import.

Re-export topology to SpatiaLite, and for each of points, polylines, and polygons:

Load from DB

Select all tags

and don't loading the resultant layer onto the canvas (don't select "Load into canvas when finished")

click 'Ok' to import

(If you get a 'duplicate column' warning,
it is because there are two tags that are the same but differ in letter-case only, e.g. 'FIXME' and 'fixme'.)

Sharing

The .qgs project file can be shared as-is (and added to GitHub etc.)
because all references in it to the data are relative,
and so as long as it resides in the same directory as the .db file everything will work
— regardless of what area of the planet you have data loaded for.