QGIS allows users to define a global and project-wide CRS (Coordinate Reference System) for layers without a pre-defined CRS. It also allows the user to define custom coordinate reference systems and supports on-the-fly (OTF) projection of vector and raster layers. All these features allow the user to display layers with different CRS and have them overlay properly.
QGIS has support for approximately 2,700 known CRS. Definitions for each of these CRS are stored in a SQLite database that is installed with QGIS. Normally you do not need to manipulate the database directly. In fact, doing so may cause projection support to fail. Custom CRS are stored in a user database. See Section Custom Coordinate Reference System for information on managing your custom coordinate reference systems.
The CRS available in QGIS are based on those defined by the European Petroleum Search Group (EPSG) and the Institut Geographique National de France (IGNF) and are largely abstracted from the spatial reference tables used in GDAL. EPSG identifiers are present in the database and can be used to specify a CRS in QGIS.
In order to use OTF projection, your data must contain information about its coordinate reference system or you have to define a global, layer or project-wide CRS. For PostGIS layers QGIS uses the spatial reference identifier that was specified when the layer was created. For data supported by OGR, QGIS relies on the presence of a recognized means of specifying the CRS. In the case of shapefiles, this means a file containing the Well Known Text (WKT) specification of the CRS. This projection file has the same base name as the shapefile and a prj extension. For example, a shapefile named alaska.shp would have a corresponding projection file named alaska.prj.
Whenever you select a new CRS, the used layer units will automatically be
changed in the General menu of the
Project Properties dialog under the
Project (Gnome, OSX) or Settings (KDE, Windows)
menu.
QGIS starts each new project using the global default projection. The global default CRS is EPSG:4326 - WGS 84 (proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs) and comes predefined in QGIS. This default can be changed using the [Select...] button in the first section, used to defining the Default Coordinate Reference System to use when starting new projects, as shown in figure_projection_1. This choice will be saved for use in subsequent QGIS sessions.
Figure Projection 1:
When you use layers that do not have a CRS, you need to define how
QGIS responds to these layers. This can be done globally or
project-wide in the CRS menu under Settings ‣
Options.
The options shown in figure_projection_1 are:
If you want to define the coordinate reference system for a certain layer without CRS information, you can also do that in the General menu of the raster (see General Menu) and vector (see General Menu) properties dialog. If your layer already has a CRS defined, it will be displayed as shown in Vector Layer Properties Dialog .
Tip
CRS in the Map Legend
Right-clicking on a layer in the Map Legend (Section Legenda do Mapa) provides two CRS short cuts. Set layer CRS takes you directly to the Coordinate Reference System Selector dialog (see figure_projection_2). Set project CRS from Layer redefines the project CRS using the layer’s CRS
QGIS supports OTF reprojection for both raster and vector data. However, OTF is
not activated by default. To use OTF projection, you must activate the
Enable on the fly CRS transformation checkbox in the CRS
menu of the
Project Properties dialog.
There are three ways to achieve this end:
If you have already loaded a layer, and want to enable OTF projection, the
best practice is to open the Coordinate Reference System
menu of the Project Properties dialog, select a CRS, and
activate the Enable on the fly CRS transformation checkbox.
The
CRS status icon will no longer be greyed-out
and all layers will be OTF projected to the CRS shown next to the icon.
Figure Projection 2:
The Coordinate Reference System menu of the Project Properties dialog contains five important components as shown in Figure_projection_2 and described below.
Tip
Project Properties Dialog
If you open the Project Properties dialog from the Project (Gnome, OSX) or Settings (KDE, Windows) menu, you must click on the CRS menu to view the Coordinate Reference System settings.
The CRS status icon will also automatically bring
the CRS menu to the front.
If QGIS does not provide the coordinate reference system you need, you
can define a custom CRS. To define a CRS, select Custom CRS
from the Settings menu. Custom CRS are stored in your QGIS
user database. In addition to your custom CRS, this database also contains
your spatial bookmarks and other custom data.
Figure Projection 3:
Defining a custom CRS in QGIS requires a good understanding of the Proj.4 projection library. To begin, refer to the Cartographic Projection Procedures for the UNIX Environment - A User’s Manual by Gerald I. Evenden, U.S. Geological Survey Open-File Report 90-284, 1990 (available at ftp://ftp.remotesensing.org/proj/OF90-284.pdf ).
This manual describes the use of the proj.4 and related command line utilities. The cartographic parameters used with proj.4 are described in the user manual and are the same as those used by QGIS.
The Custom Coordinate Reference System Definition dialog requires only two parameters to define a user CRS:
To create a new CRS, click the New button and enter a
descriptive name and the CRS parameters. After that you can save your CRS by
clicking the
Save button.
Note that the Parameters must begin with a +proj=-block, to represent the new coordinate reference system.
You can test your CRS parameters to see if they give sane results by clicking on the [Calculate] button inside the Test block and pasting your CRS parameters into the Parameters field. Then enter known WGS 84 latitude and longitude values in North and East fields respectively. Click on [Calculate] and compare the results with the known values in your coordinate reference system.