QGIS (previously also know as Quantum GIS) is an open source GIS application enabling the user to visualize, manage, edit, analyse data, and compose printable maps. It runs on Linux, Unix, Mac OSX, Windows and Android and can be downloaded free of charge from qgis.org.
OpenStreetMap in QGIS
QGIS2 OpenStreetMap Vectors
QGIS 2.0 integrates Openstreetmap import as a core functionnality. To get OSM data:
- Menu "Vector -> Openstreetmap -> Load data" will connect to the OSM server and download data. You can skip this step if you already have a .osm XML file.
- "Import topology from an XML file" below will convert your .osm file into a spatialite database, and create a db connection.
- "Export topology to Spatialite" then allows you to open the database connection, select the type of data you want (points, lines, polygons) and choose tags to import. This creates a spatialite geometry layer that you can then add to your project via the "add a spatialite layer" menu.
More details here
OpenStreetMap Plugin (obsolete)
For QGIS older than version 2: The QGIS OSM Plugin lets you load in vector data from OpenStreetMap, and even edit and upload your changes. However, due to a bug not with current data (see linked page for more info).
Shapefiles, PostGIS and other conversion options
Using raster maps from OpenStreetMap
There's a couple of different approaches to bring in tiles from OpenStreetMap (or from other OpenStreetMap tile providers) :
The QGIS OpenLayers Plugin probably offers the easiest way. In QGIS2.0 go to "Plugins" menu -> "Manage Installed Plugins...", then search for OpenLayers under 'Get More'. In older 1.x QGIS you need to enable the "Plugin Installer" from the Plugin Manager and then from "Plugins" -> "Fetch Python Plugins" and select the "Openlayers Plugin". The list of available OSM tile layers then appears from the "Plugins" -> "OpenLayers plugin" menu.
GDAL support is built in, so you can make a GDAL XML config and load this as a raster layer.
General QGIS info
The major features of QGIS include:
- Direct viewing and exploration of spatial data
- Advanced symbology (edit rendering styles)
- QGIS Browser as a simple and fast data viewer
- Support for numerous vector, raster, and database formats
- Create, edit and export spatial data
- Work with nodes, lines and polygons
- Convert between different coordinate systems (re-projection)
- Down/upload directly to a GPS unit
- Perform spatial analysis
- Find polygon centroids and basic statistics
- Distance matrix and line intersections
- Publish your map on the internet
- An extensible plug-in architecture
- Remote control JOSM 
Documentation & Tutorials
The QGIS wiki provides numerous guides and video tutorials to help users of all abilities. For new users a good place to start is the Introduction to Quantum GIS video. It is also important to have a basic understanding about the #Coordinate Reference System.
Other useful pages to bookmark:
- The free Beginning Quantum GIS pdf guide (produced by learnosm.
- How do I do that in QGIS on the QGIS wiki.
- Quantum GIS Tutorials by Ujaval Gandhi.
Coordinate Reference System
Earth is a three-dimensional body, roughly spherical in shape, yet the vast majority of maps are flat (2-dimesional). A Coordinate Reference System (CRS) defines a method of projecting all or part of the Earth onto a 2D surface. QGIS has support for approximately 2,700 known CRS. Some, such as WGS-84 are global projections, whereas others represent only specific regions.
Setting the CRS
When working with geo-spatial data it is essential that you are using the correct CRS. If you are lucky the projection will be specified as part of the vector file (for example, ESRI Shapefiles often include projection data in the .prj file), however you will often have to manually select the correct CRS.
To specify the CRS of a vector layer, select the layer and choice Layer->Set CRS of Layer(s).... Each layer can have a different CRS. If this is the case, you will need to convert them to the same CRS in order for them all to display correctly. The easiest way to do this is to use 'on the fly' CRS transformation:
- Settings->Project Properties (or click on the globe symbol in the lower right corner).
- Select the Coordinate Reference System (CRS) tab.
- Check the Enable 'on the fly' CRS transformation checkbox.
- Pick a suitable project CRS to work with (e.g. WGS-84).
More information can be found in this video tutorial.
Using QGIS to convert between CRS
QGIS can be used to convert between CRS. Open the input layer making sure to select the correct CRS as described above. Use Layer->Save As... to export the layer with a different CRS (you may choice between the "Project" CRS or select a CRS from QGIS's extensive list).
- Osmium to generate QGIS ready shapefiles from osm data directly
- Osm2postgresql, a single command to install postgresql & postgis and have OSM data ready for rendering in QGIS
- GRASS GIS
- QGIS-Tutorial (deutsch)