Tutorial: Nearest Neighbor Analysis using QGIS

Tutorial moved to http://www.qgistutorials.com/en/docs/nearest_neighbor_analysis.html

GIS is very useful is analyzing spatial relationship between features. One such analysis is finding out which features are closest to a given feature. QGIS has a tool called ‘Distance Matrix’ which helps with such analysis. In this tutorial, we will use 2 datasets and find out which points from one layer are closest to which point from the second layer.



Tip: Open BIL, BIP and BSQ files in QGIS

When dealing with remote sensing and scientific datasets, one often comes across data in formats like BIL, BIP or BSQ. GDAL, which is used by QGIS to read raster files has support for these formats, but it cannot open these files by itself. I will go through the process of creating support files so these formats can be read by QGIS.

Tutorial: Advanced Georeferencing in QGIS using a Reference Layer

Tutorial moved to http://www.qgistutorials.com/en/docs/advanced_georeferencing.html

In the previous tutorial “Georeferencing Topo Sheets, Topo Maps, Satellite Image or Scanned Maps in QGIS”, you learnt the basic process of georeferencing in QGIS. That method involved reading the coordinates from your scanned map and inputting it manually. Many times though you may not have the coordinates printed on your map, or you are trying to georeference a photograph. In that case, you can use another georeferenced data source as your input. In this tutorial, I will show you how you can use existing open data sources in your georeferencing process.

Tip: Find Neighbor Polygons in a Layer in QGIS

There are some use cases where you want to find all neighboring polygons of each of the polygons in a layer. With a little python script, we can accomplish this and much more in QGIS. Here is an example script you can use to find all polygons that touch each of the polygons in a layer and also add their names to the attribute table. A user also wanted to sum up the values of a given attribute from all the neighboring polygons, so I added that part to the script as well.

Tip: Clip a Raster in an Irregular Shape using QGIS

Tutorial moved to http://www.qgistutorials.com/en/docs/raster_mosaicing_and_clipping.html

Sometimes clipping a raster using a rectangle is not sufficient. You might want to clip the raster based on the boundary of your area of interest. In QGIS, there is an option to use a ‘Mask layer’ while clipping a polygon.

Tip: Count Number of Vertices in a Layer using QGIS

This tutorial has moved. Please see Counting Number of Vertices in a Layer for an updated version of this tutorial.

QGIS doesn’t have a built-in function to calculate number of vertices for each feature in a layer. You can use Vector → Geometry Tools → Extract Nodes to break the geometry into individual vertices and get a points layer. But there is an easier and better way to do this using python scripting in QGIS. You do not need to know any python for doing this. The below example will help you count the total number vertices in a polygon layer as well as add an attribute named ‘Vertices’ in your attribute table.

Tip: Opening Zip Files Directly in QGIS

Typically GIS datasets are large and often distributed as zip files. Normally, you would unzip them first and then load them up in QGIS. Starting version 1.8, QGIS can load zip files directly. You can save disk space and time by opening zip files directly in QGIS now.

Tip: Identify Across All Layers in QGIS

The default QGIS behavior is to look up attributes of the currently selected layer when you use the ‘Identify’ tool. Sometimes when working with many layers in your QGIS project, you don’t know which layer a particular feature belongs. In such cases, just clicking on a feature and getting to know its attributes - regardless of whether the layer is selected , is really helpful. There is an option to make the Identify tool pull up attributes of all the features from all layers in your project. MapInfo users are used to this feature and if you are missing it, use the following setting to enable it.

Tutorial: Basic Raster Analysis and Styling in QGIS

Tutorial has moved to http://www.qgistutorials.com/en/docs/raster_styling_and_analysis.html

A lot of scientific observations and research produces raster datasets. Rasters are essentially grids of pixels that have a specific value assigned to them. By doing mathematical operations on these values, one can do some interesting analysis. QGIS has some basic analysis capabilities built-in via Raster Calculator. In this tutorial, we will explore basics on using Raster Calculator and options available for styling rasters.

Tutorial: Using the Quantum GIS Browser

QGIS 1.8 introduced a new standalone application called ‘Quantum GIS Browser’. This is a useful companion tool to QGIS and helpful in managing GIS datasets. ArcGIS users may think of it as an application similar to ArcCatalog. In this tutorial, I will cover some basic use cases of the QGIS Browser.

Tutorial: Making Heatmaps using QGIS and GRASS

Tutorial has moved to http://www.qgistutorials.com/en/docs/creating_heatmaps.html

Heatmaps are one of the best visualization tools for dense point data. Heatmaps are used to easily identify find clusters where there is a high concentration of activity. In this tutorial we will explore two different method of creating heatmaps in QGIS and work with crime related data to find crime hotspots with cluster analysis.

Tutorial: Making Maps for Print Using QGIS

Tutorial has moved to http://www.qgistutorials.com/en/docs/making_a_map.html

Often one needs to create a map that can be printed or published. QGIS has a powerful tool called Print Composer that allows you to take your GIS layers and package them to create maps. Print Composer is quite feature rich, but can be un-intuitive at times. In this tutorial, we will go over various options within Print Composers that allow you to create informative maps with elements like north arrow, scale bar, legend and labels.

Tutorial: Using Online Data via WMS in Quantum GIS

Tutorial moved to http://www.qgistutorials.com/en/docs/working_with_wms.html

Often you need reference data layers for your basemap or to display your results in the context of other datasets. Many organizations publish datasets online that can be readily used in GIS. A popular standard for publishing maps online is called WMS (Web Map Service). This is a better choice for using reference layers as you get access to rich datasets in your GIS without the hassle of downloading or styling the data.

Tutorial: Working with Projections in QGIS

Map projections often cause a lot of frustration when working with GIS data. But proper understanding of the concepts and access to the right tools will make it much easier to deal with projections. In this tutorial, we will explore how projections work in QGIS and learn about tools available for vector and rasters - particularly reprojecting vector and raster data, enabling on-the-fly reprojection and assigning projection to data without projection.

Tutorial: Working with Terrain Data in QGIS

Tutorial moved to  http://www.qgistutorials.com/en/docs/working_with_terrain.html

Terrain or elevation data is useful for many GIS Analysis and it is often used in maps. QGIS has good terrain processing capabilities built-in. In this tutorial, we will work through the steps to generate various products from elevation data such as contours, hillshade etc. The Raster menu comes from the GdalTools plugin. If you do not see the options under Raster menu, please follow this tutorial to find and enable the plugin.

Tutorial: Using Tabular Data in QGIS

Tutorial moved to  http://www.qgistutorials.com/en/docs/performing_table_joins.html

Not every dataset you want to use comes as a shapefile, or in a spatial format. Often the data would come as a table or a spreadsheet and you would need to link it with your existing spatial data for use in your analysis. For example, you may be working with census data for a country where the data is in a table, csv, excel file, access database table or any other non-spatial format. To map this data, you have to merge this with a shapefile containing boundaries of census tracts. This operation is known as ‘Table Join’ and this tutorial will cover how to carry out table joins in QGIS.

Tutorial: Styling Vector Data in QGIS Using Size-Scale Field

As you saw in this previous tutorial, there are many options available to style vector data in QGIS. But you may have noticed that all the basic method of styling vector layers uses only a single attribute or a single column from the attribute table. Usually GIS data is pretty rich in information and you have more than one useful attribute in your data layer. Presenting two or more of the attributes together can create a very useful map or communicate a powerful story. In this tutorial, we will explore using ‘size-scale field’ option to draw symbols whose area is proportional to an attribute.

Tutorial: Styling Vector Data in QGIS - Basics

Please see Basic Vector Styling for an updated version of this tutorial.

To create a map, one has to style the GIS data and present it in a form that is visually informative. There are a large number of options available in QGIS to apply different types of symbology to the underlying data. In this tutorial, we will explore some basics of styling.

Tutorial: Working with Rasters in QGIS - Mosaicing and Subseting

Tutorial moved to  http://www.qgistutorials.com/en/docs/raster_mosaicing_and_clipping.html


QGIS has basic raster functionality via the GdalTools plugin. This plugin is on by default and available via with ‘Raster’ menu. If you do not see the options under Raster menu, please follow this tutorial to find and enable the plugin.  In this tutorial, I will explain some basics of rasters captured by satellite sensors and show you how to mosaic and subset imagery within Quantum GIS.

Tutorial: Spatial Analysis - Points in Polygon

Tutorial Moved to  http://www.qgistutorials.com/en/docs/points_in_polygon.html 

The power of GIS lies in analysing multiple data sources together. Often the answer you are seeking lies in many different layers and you need to do some analysis to extract and compile this information.


One such type of analysis is Points-in-Polygon. When you have a polygon layer and a point layer - and want to know how many or which of the points fall within the bounds of which polygons, you can use this method of analysis. For this tutorial, the question we want to answer is ‘Which country in the world has had the most number of major earthquakes?’


Tutorial: Georeferencing Topo Sheets, Topo Maps, Satellite Image or Scanned Maps in QGIS

Tutorial moved to  http://www.qgistutorials.com/en/docs/georeferencing_basics.html


Most GIS projects require georeferencing some raster data. In this tutorial I will discuss the concepts, strategies and tools within QGIS to achieve a high accuracy georeferencing.

Tutorial: Selecting Multiple Features in QGIS

When working with GIS data, you might want to delete certain features or run your query on a subset of features from a layer. There are many methods available that can help you save time and select a large number of features easily. I will cover some of these in this tutorial.

Tutorial: Setting Up A Working GRASS Environment in QGIS

GRASS is a popular open source GIS toolkit and has a large number of useful raster, vector and terrain tools for GIS analysis. You can use these toolswithin Quantum GIS with the GRASS plugin. Unfortunately, GRASS is fairly unintuitive for beginner GIS users and it can be daunting to use these tools. In this tutorial I will show you how to setup a simple and generalized working environment that will enable GRASS tools to be used within QGIS.

Tutorial: Digitizing in QGIS

Tutorial moved to http://www.qgistutorials.com/en/docs/digitizing_basics.html

Digitizing is one of the most common tasks that a GIS Specialist has to do. Often a large amount of ‘GIS time’ is spent in digitizing raster data to create vector layers that you use in your analysis. Quantum GIS has powerful capabilities to digitize raster data. In this tutorial, we will take some high resolution satellite imagery and digitize it to create a vector polygon layer.