QGIS
| QGIS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Author: | Contributors GitHub | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| License: | GNU GPL v2 (free of charge) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Platforms: | Windows, Linux, and macOS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Status: | Active | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Version: | 4.20 releases (2026-07-20) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Language: | English
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Website: | https://qgis.org | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Source code: | qgis/QGIS GitHub | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Programming languages: | C++ and Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
QGIS (previously also known as Quantum GIS) is a free (GNU GPL v2) and open source GIS application to visualize, manage, edit, analyse data, and compose/make maps. It runs on Linux, Unix, Mac OSX, Windows and can be downloaded free of charge from qgis.org. It powers 3rd party open-source apps for mobile and tablet, Mergin Maps ([1]), QField or IntraMaps Roam.
OpenStreetMap in QGIS
Since QGIS version 3 it's possible view pixel/raster maps and vector data from OpenStreetMap.
Pixel/raster maps
OpenStreetMap pixel/raster map is available by default via Sources panel > XYZ Tiles > OpenStreetMap.
If it's not there you can re-add it as an XYZ layer
Note that QGIS caches the raster maps. Changes made on OpenStreetMap will not show up until the QGIS cache is cleared. The Clear cache button is hidden in the Settings -> Options -> Network -> red Trash button on Size field's right hand side.
Vector data
QGIS can open and read, but not edit, .osm vector data file.
Getting vector data
QuickOSM plugin
QuickOSM downloads OSM data to QGIS via Overpass API.
Other ways to get .osm
See Export for other ways to obtain an .osm file.
Editing
For editing export the .osm as geopackage or other editable format.
Export/upload to OSM
QGIS cannot edit and save .osm nor upload data/changes to a OpenStreetMap server. For this purpose
- Save/export data in suitable format (geopackage, shape file, GeoJSON or KML)
- Convert file to .osm with ogr2osm or Shape2osm
- Upload to OSM with bulk_upload.py or similar tools.
General QGIS info
See also QGIS website and wikipedia:Quantum GIS
Features
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
- ESRI shapefiles, GeoJSON, KML/KMZ, and GPX
- PostGIS, PBF, SpatiaLite, MSSQL spatial, WMS
- 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 [2] with QuickOSM
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 guides stored in Google Docs (produced by learnosm).
- How do I do that in QGIS [ dead link ] on the QGIS wiki.
- QGIS Tutorials by Ujaval Gandhi.
QGIS allows you to to create advanced symbology (similar to Mapnik or Osmarender) in a powerful but very easy way (a few mouse clicks), see examples here [ dead link ] and a detailed video on youtube.
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).
Using QGIS to filter data from government sources and convert it to KML
In Sweden multiple government agencies give out data in large shapefiles. These files do not load nicely in JOSM because of their size and/or JOSMs premature shp support.
To filter out part of a shp file in QGIS you can do this:
- get the file, e.g. http://gpt.vic-metria.nu/data/land/NR.zip
- open the shp file in QGIS
- enable editing
- select a number of nodes and delete them
- rightclick on the layer and choose "Export.."
- select KML (this is better supported in JOSM)
- click save and open up the result in JOSM
Here is a video tutorial describing more advanced filtering based on attributes. In this example it would be nice to only have the nature reserves where "BESLSTATUS" = 'Gällande' is true because that means they are in effect (and not just planned). Follow the tutorial in the video to archive this.
See also
- 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
- OpenJUMP
- QGIS-Tutorial (German); QGIS tutorial (English)
External links
- QGIS homepage
- aubreyrhea.net QGIS tutorial
- mapperz blog tutorial (2009)
- Tutorial on creating OSM filter polygons using QGIS
- QGIS plugins tagged with 'openstreetmap'
- Questions Tagged With qgis at the OSM help centre
- Video tutorial on youtube.com dealing with QGIS 2.4 in 26 lessons, with special topics about OSM data.
- Video tutorials from MangoMaps about QGIS 2.2 in five lessons
