QGIS is a user friendly Desktop GIS client which lets you visualize, manage, edit, analyse data and compose printable maps.
Contents
Let’s start by opening up an existing QGIS project, and turning layers on and off.
Launch QGIS from Geospatial ‣ Desktop GIS ‣ QGIS and select Project ‣ Open from the menu bar.
Choose QGIS-NaturalEarth-Example.qgs and press Open.
Tick the ne_10m_populated_places check box in the Layers tree.
Try dragging layers up and down in the legend and see how that affects visibility of the layers below.
Have a look at the tools on the tool bar. Try panning, zooming in, and zooming back out to full extent again. Find these tools next to the hand icon. If the toolbars seem cluttered you can drag them around and turn them on and off by right clicking. You can also zoom in and out with the mouse wheel, and pan with a left-click drag.
Now let’s try customising the style of the map.
#. In the Layer Properties dialog on the Style tab click on the Color to select a different color, say yellow.
Let’s now create a new QGIS project and load our own data.
Let’s now include a layer from a Postgres database.
In the layer list on the left, untick the ne_10m_admin_0_countries visibility check box to temporarily hide it.
Choose Layer ‣ Add PostGIS Layers....
Select the “Natural Earth” connection and press Connect.
Select ne_10_populated_places and click Add.
Zoom in on the United States using the mouse wheel and left-click drag to navigate.
Right click on ne_10m_populated_places in the layer list to get a context menu, then select Properties.
Let’s represent one of the database attributes in the data as a bubble plot. In the middle of the Style tab, drag the Transparency slider to 50%, press the Advanced button and select Size scale field, then choose scalerank (it’s near to the beginning of the list). Then click Ok.
You can then click on the query button on the toolbar (cursor arrow with a blue “i”) and then on the map canvas bubbles to view information about the individual cities.
There have been many plugins written for QGIS which extend QGIS’s core functionality. One of the more powerful is the GRASS plugin, which taps into the hundreds of geospatial processing modules available from GRASS GIS.
Clear the slate with Project ‣ New.
Choose Plugins ‣ Manage and Install Plugins..., then scroll down or type grass into the Search box, and select the GRASS plugin.
Connect to an existing GRASS workspace with Plugins ‣ GRASS ‣ Open mapset.
Within the central GRASS data base are a number of sample datasets. We’ll load the Spearfish location, and the user1 mapset within it. Choose the spearfish60 Location and user1 working mapset, then click Ok.
To add a map to the QGIS layer list, choose Plugins ‣ GRASS ‣ Add GRASS raster layer.
Add another GRASS raster layer, this time the elevation.10m map from the PERMANENT mapset.
To add a vector map, choose Plugins ‣ GRASS ‣ Add GRASS vector layer.
Change the layer order if neccessary (roads, elevation, aspect).
The plugin also gives you access to many of the powerful GRASS analysis modules and visualization tools:
From the top menu select Plugins ‣ GRASS ‣ Open GRASS tools and drag the edge to make the window a bit bigger.
Back in the Modules Tree tab of the GRASS Tools window, go down to 3d Visualization and select NVIZ. You may need to drag the corner of the toolbox window again to make it a bit larger to see all the options.
In the new module tab that pops open, select the elevation.10m map as the map for elevation. Then depress the rectangle with red corners button on the right of the map name to use the region bounds and resolution of that map. As mentioned earlier, the computational region is a core theme in GRASS raster processing.
Select roads for the vector overlay, then click Run.
Once the NVIZ 3D view opens, maximize the window and drag the positioning puck in the compass box on the left to a nice view.
Choose Visualize ‣ Raster surfaces and set the fine resolution to 1, then if needed click the green DRAW button in the top left and wait while it renders.
A core plugin for QGIS which opens the door to a large family of processing tools is the Processing Toolbox (formerly named the SEXTANTE Toolbox). It acts as a standardized wrapper around a number of other sets to tools.
Choose Processing ‣ Toolbox.
Open the LX Terminal Emulator from the main Accessories menu.
Cut and paste the following commands into the Terminal window to create a working copy of the OSM data in the home directory:
cp data/osm/feature_city_CBD.osm.bz2 .
bzip2 -d feature_city_CBD.osm.bz2
In QGIS, choose Project ‣ New. If you had the Processing Toolbox open you might want to close it.
Choose Vector ‣ OpenStreetMap ‣ Import toplogy from XML.
Click on the ”...” button next to “Input XML file (.osm)” and select the feature_city_CBD.osm file you just copied into the home directory. The “Output SpatialLite DB file” name will be automatically set. Click Ok to convert the dataset to SpatiaLite format and create a connection to the SpatialLite DB within QGIS.
Next we need to extract points, lines, and areas, then add topology to each of these three new layers. To do this we need to run the tool three times. Select Vector ‣ OpenStreetMap ‣ Export toplogy to SpatiaLite and use the ”...” button to select the newly created feature_city_CBD.osm.db file. The Output layer name will be automatically filled in for you depending on the Export type selected. Click the Load from DB button to load in the available tags. For the “points” layer tick the amentity box; for the “polylines” layer tick the highway layer; and for the “polygon” layer select the building layer. You may wish to change the Output layer name to reflect the feature tags that you’ve selected. When you are ready, press Ok to load in the layer. You will need to again press the Load from DB button after changing the export type from points to polylines, and polylines to polygons.
Once topology is loaded, you can also refine the SpatiaLite layer by querying just certain features from within it. Select Layer ‣ Add SpatiaLite Layer... from the menu and from the Databases list select feature_city_CBD@... and then click on Connect. Double click on the feature_city_cbd_polylines table and then double click on “highway” to start building your SQL query. Then click on the = button, then the All button, and double click on motorway from the Values list. Click the Test button to verify the result, and finally click on Ok. Back in the Add SpatiaLite Table window click Add to restrict the rendering to just major highways. You can repeat this process with new layers to render different road types with different widths and styles.
You can now explore this rich dataset. Use the i information cursor button in the QGIS toolbar to query individal map features.
Tutorials for more advanced features of QGIS are collected as OSGeo-Live QGIS tutorials.
To learn more about QGIS, a good starting point is the Documentation page on the QGIS homepage and A Gentle Introduction to GIS eBook.
The QGIS User Guide [1] is also included on the OSGeo-Live disc.