Difference between revisions of "Hospital Site Suitability Selection using QGIS"

From CUOSGwiki
Jump to navigationJump to search
Line 96: Line 96:
   
 
=== Difference ===
 
=== Difference ===
Because we don’t want to include the land that is within a certain distance of public toilets and existing hospitals, we must clip the buffer we made of these files from the original shapefile of all suitable areas that we just created in order to get the final acceptable areas. To do this go to the '''Vector''' menu, select '''Geoprocessing Tools''' and then select '''Difference'''. The ''Input vector layer'' should be the merged shapefile you just created from buffers that we wanted to be within a certain distance of. The ''Difference layer'' should be the hospital buffer (we will repeat for public washrooms as well). Click '''Browse''' and choose where to save the file and what you want to name it and then click '''OK'''. Repeat for the washrooms, but this time the ''Input vector layer'' should be the file you just of acceptable areas without the hospital buffer and the ''Difference layer'' should be the washroom buffer.
+
Because we want to exclude the land that is within a certain distance of public toilets and existing hospitals, we must remove these areas from the shapefile we created in the previous step. To do this go to '''Vector > Geoprocessing Tools > Difference'''. The ''Input layer'' should be the merged shapefile from the previous step. The ''Difference layer'' should be the hospital buffer (we will repeat it after for public washrooms). Choose to save the file into your "Data" folder, and deselect the option to open the output file after running. Click '''Run in Background''' then once its finished close the window and add the new file to the data frame.
  +
  +
  +
  +
Repeat for the washrooms, but this time the ''Input vector layer'' should be the difference file you just created, and the ''Difference layer'' should be the washroom buffer.
   
 
=== Dissolve ===
 
=== Dissolve ===

Revision as of 12:43, 7 October 2018

Purpose

The purpose of this tutorial is to show users how to perform a site suitability analysis for hospital placement, using QGIS. This tutorial will focus on Vancouver, BC to provide an example of how to complete this task. In the process users will gain a better understanding of free and open source software (FOSS), learn how to extract spatial data from Google Earth for use in other GIS software, as well as how to set up and manipulate data in QGIS.

Introduction

When building a new hospital, there are criteria that should be followed in order to find the most appropriate location. These criteria consist of required proximities or distances from certain features, such as roads and public washrooms. Using GIS software, a map can be created of all areas in a city that meet these criteria, which can be used to select a hospital location. In this tutorial, a map of suitable areas in Vancouver will be created. The criteria used in this tutorial will be based on two papers (GIS-Based Multi-Criteria Analysis for Hospital Site Selection in Haidian District of Beijing (Zhou and Wu, 2012) & Hospital Site Selection Using Two-Stage Fuzzy Multi-Criteria Decision Making Process (Soltani and Morandi, 2011)) and can be summarized as follows:


Criteria for hospital site selection

Software

The two software packages required for this tutorial are QGIS and Google Earth. If you do not already have these on your computer, you can use the following instructions to get them.

To download QGIS, click on this link and choose which version you would like. Version 3.2 under the "Latest Release" section will be used for this tutorial, though other versions will work just fine. The alternative is the "Long term release repository" version, which is an older release so it's more stable, but also has less features.

To download Google Earth, click this link and select Agree and Download. Once you have downloaded and installed both software packages, you are ready to download the required data for this tutorial.

Data

Create a working folder wherever you would like your files to be saved on your computer, and within it make another folder titled "Data". This is where all of the data needed to complete this tutorial will be stored. For this project, all of the data required is available at http://data.vancouver.ca/datacatalogue/, except for the file for hospital locations which will be extracted from Google Earth. From the Vancouver data catalogue, you will need to download the following files:

-Fire halls
-Local area boundary
-Railway
-Rapid transit lines
-City streets package
-Zoning districts and labels
-Public washrooms

To download the files, simply click the links above. The files are all in SHP format, except for Public washrooms which does not have an SHP version available, so it is a KML file. Next extract the contents of the files you downloaded into the "Data" folder you created earlier.

Now only one more file is needed, which will contain the location of all of the existing hospitals in Vancouver. Because there is not file for this in the Vancouver Data Catalogue, we will use Google Earth to find all hospital locations in vancouver, then export them as a KMZ file. To do this, open Google Earth and search for "hospitals in Vancouver, BC".

Results for the search hospitals in Vancouver, BC

Next, click the folder icon below the search results that says “Copy the current search results to My Places” when you hover over it.

Click the highlighted folder icon to move the search results into your My Places folder

Now right click on the folder containing your search results and select Save Place As...

Right click the folder and select Save Place As

Give the file a name and make sure the Save as type: is Kmz, then save it into your "Data" folder. Now that you have all the required files, you are ready to start the tutorial.

Tutorial

Now that you have downloaded the software and collected the required data, it is time to begin. Open QGIS, click the New Project button (white piece of paper) in the top left to start a new project. Save it in your working folder under whatever name you choose (try not to use spaces or funny characters in your file name).

Setting Up the Environment

Vancouver’s data files are projected in UTM Zone 10, NAD83 (CSRS) so that is what you should project your files as. To do this, go to the Project menu, select Properties. The Project Properties windows will open. Select CRS from the left hand menu and then toggle on Enable ‘on the fly’ CRS transformation. The CRS that should be selected is NAD83(CSRS) / UTM zone 10N for the Vancouver region. Click Apply to apply the change. From this window, under the General tab, you can set the project's home directory, which should be the "Data" folder. Once this is done, click Apply then OK.


Setting Projection to NAD83(CSRS) / UTM zone 10N

Importing Data

To import the required data into QGIS, you will use the Browser panel on the left of the screen. Expand the "Project Home" section and you will see all the files you downloaded. Click the files you wish to import to select them (you can select multiple by holding the "Ctrl" key), then drag them into the center of the screen. All your files will now be added to the data frame. If you do not see anything, right click on one of the layers in the "Layers" panel, and select Zoom to Layer. You should have all the same layers as those seen in the screenshot below.

Now, reorder the layers by dragging them in the "Layers" panel so that as many as possible are visible. You can also change the color and symbols for the layers by clicking them and changing the setting in the "Layer Styling" panel on the right (if this is not visible for you, right click the top toolbar and click Layer Styling Panel).You’ll notice that some of the points in the hospital file you created don’t lie within Vancouver's boundaries; this is not a problem as later on in this tutorial the non-valid points will be dissolved. Once you have all the required data imported and looking acceptable, you can move on to the next step.

Display of all of the imported layers

Converting KMZ to Shapefile

In order to be able to perform operations such as buffer and clip on the public washroom and hospital files, they will need to be converted from KMZ format to SHP. To do this, right click the file from the "Layers" panel, then select Export > Save Features As. In the pop-up window, make sure the Format is ESRI Shapefile, then choose the output name and location (your "Data" folder) by selecting the Browse button. Make sure the CRS is Project CRS (EPSG:26910 -NAD83 / UTM zone 10 N) then click OK. Do this for the public washroom file and the hospital file. Once both shapefiles have been added, you can remove their original layers from the project.

Converting KMZ to shapefile

Extracting Residential Areas From the Zoning Districts

One of our criteria for hospital site selection is that the location must be within a certain distance of residential areas, so we need to extract residential areas from the zoning districts shapefile. To do this, right-click on the zoning_districts layer and select Open Attribute Table. The attribute table for the zoning districts will open, and the zoning category for each feature will be chows in the "CATEGORY" column. We want to select all features with categories that contain the word "Dwelling", as this denotes that it is residential. To do this, select Select Features Using an Expression from the top toolbar. A Select By Expression window will appear, and for the expression type:

"CATEGORY" LIKE '%Dwelling%'

Now click the Select features button in the bottom right hand corner and all the desired features will be selected, then click Close.

Selection Expression

The selected zones that are now highlighted can be saved as their own shapefile. To do this, right click on the zoning_districts layer and select Export > Save Selected Features As. Save it into your "Data" folder with ESRI Shapefile as the format. Make sure Save only selected features and Add saved file to map are toggled on, leave the CRS as is, then click OK.

Residential zones shapefile after it has been added to map

Merging Shapefiles

Because we want to perform operations on all of the street shapefiles and all of the railway shapefiles, we need to merge them. To do this, click Vector > Data Management Tools > Merge Vector Layers. For Input files select all of the files to be merged. Under the Merged field select Save to file and save it into your "Data" folder. Uncheck the box for Open output file after running algorithm then click Run in Background. Once the operation is completed use the "Browser" panel to add your new file to the data frame (if you don't see it hit the refresh button at the top). Follow these steps to merge all the road shapefiles(lanes, non_city_streets, one_way_streets and public_streets), then all the railway shapefiles (railways and rapid_transit).

The merged street types and railways types

Buffering Files

Now we need to buffer each of the shapefiles in order to make them meet the criteria for hospital site selection. To do this go toVector > Geoprocessing Tools > Buffer. Start by buffering your newly merged street shapefile. Select that file as the input, the set the distance to 100 meters, as that is the value given in the site suitability criteria. The "Segments" field controls how many line segments make up each quarter-circle in the buffer results, a higher value will give a rounder result, but it will be more complex as well. 25 is a good number of segments, so use that value for this buffer. Check the box saying "Dissolve result", deselect the option to add the output after running, then choose to save the file into your "Data" folder. Leave the rest of the settings untouched and hit Run in Background. Once it is finished running, close the window then add your new file to the data frame through the "Browser" panel.

Buffer of railway results

Repeat this with each of the remaining shapefiles, setting the distance based on the criteria shown in the picture below.

Criteria for hospital site selection

Once you have buffered all the required filed, the finished result should look something like this:

Buffered layers

Merging Shapefiles (again)

Now that all of the original shapefiles have been buffered and clipped to only show the portions that are applicable for hospital site selection, we need to merge all of the shapefiles with criteria to be within a certain distance (residential, streets, railways, and fire halls). To do this repeat the process outlined for merging earlier, but this time choose the files mentioned here.

Difference

Because we want to exclude the land that is within a certain distance of public toilets and existing hospitals, we must remove these areas from the shapefile we created in the previous step. To do this go to Vector > Geoprocessing Tools > Difference. The Input layer should be the merged shapefile from the previous step. The Difference layer should be the hospital buffer (we will repeat it after for public washrooms). Choose to save the file into your "Data" folder, and deselect the option to open the output file after running. Click Run in Background then once its finished close the window and add the new file to the data frame.


Repeat for the washrooms, but this time the Input vector layer should be the difference file you just created, and the Difference layer should be the washroom buffer.

Dissolve

Because we performed multiple operations on the final file, we should dissolve everything to make one clean and inclusive shapefile. To do this, go to the Vector menu, select Geoprocessing Tools and then select Dissolve. The Input vector layer should be the shapefile you just creating when dissolving the public washroom buffer from the acceptable areas merge. For the Dissolve field, choose dissolve all. Browse to where you want to save your final shapefile and what you want it to be called and click OK and Close.

Dissolve parameters

The final result of all of the processes we have performed should look something like this:

Final acceptable areas shapefile

Making a Map

Once we have produced the data that we want to showcase, we can use QGIS to make an aesthetically pleasing map. First, turn on all of the layers that you would like to be showcased and turn off all others by selecting and unselecting the checkbox next to each layer name. For example, I have chosen to showcase the location of existing hospitals, roads, railways and the land that is suitable for the placement of the next hospital to be built. Select Project -> New Printer Composer and then type a name for your map in the text box and select OK (it does not have to be the same as the title you place on your final map). In the pop-up window, select Layout -> Add Map and then draw a rectangle on your canvas where you would like your map. To re-position your map display, select Layout -> Move Content. Now you can drag your map into place and zoom in and out. Under the Item Properties tab on the right hand side, you can also change the scale to get the perfect sizing.

Changing the scale of the map

To add a title, select Layout-> Add Label and draw a box for your title. Under Item Properties -> Label you can type your title in the textbox and change the font type, size, colour etc.

To add a north arrow, select Layout -> Add Image and draw a box on your canvas. Under Item Properties -> Search directories you can view different North Arrows and choose which one you would like to use.

Choosing a north arrow

Similarly, you can add a scale bar by selecting Layout -> Add Scalebar.

To add a legend select Layout -> Add Legend. To show only the legend items that are present on your current map, select the icon that resembles a filter cone under the Item Properties -> Legend items menu. To rename legend items, double click a legend item and enter the text you want displayed. You can also rearrange legend items by dragging them up and down.

Once you are happy with your map, you can export it as an image, SVG or PDF by selecting Composer from the top left hand menu and choosing either Export as Image, Export as SVG or Export as PDF.

Final Map

Conclusion

QGIS is a well crafted and easy to use software that in this instance has allowed the production of a map that showcases suitable areas for the future placement of a hospital in Vancouver City, BC. This is just an example of the many ways that a few shapefiles can be manipulated to produce an informative map showcasing site-suitability of a specific building. It also shows that even people with no money for a software license can identify suitable areas for the placement of a multitude of things.

References