Difference between revisions of "Hospital Site Suitability Selection using QGIS"
(→Data) |
|||
(69 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
== Purpose == |
== Purpose == |
||
− | The purpose of this tutorial is to |
+ | 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 == |
== Introduction == |
||
− | When |
+ | 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 for hospital construction 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 are summarized in the following image: |
+ | |||
− | [[File:HospitalCriteria.PNG| |
+ | [[File:HospitalCriteria.PNG|600px|thumb|none|Criteria for hospital site selection]] |
== Software == |
== 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. |
||
− | The two software packages required for this tutorial are QGIS and Google Earth. To download QGIS, click on this [https://www.qgis.org/en/site/forusers/download.html link] and choose which version you would like. I would suggest downloading the Long Term Release Repository (most stable) as it is less likely to have any bugs then the latest version. To download Google Earth, click this [https://www.google.com/earth/download/gep/agree.html link] and select Agree and Download to agree to Google Maps/Google Earth Additional Terms of Service and download the software package. Once you have downloaded and installed both software, you are ready to download the required data for this tutorial. |
||
+ | [[File:Main_DL.jpg]] |
||
⚫ | |||
+ | To download QGIS, click on this [https://www.qgis.org/en/site/forusers/download.html link] and choose which version you would like. Version 3.8 under the "Latest Release" section will be used for this tutorial. Other version will be able to do everything in this tutorial, though the names and locations of certain tools and options may be different. The alternative is the "Long term release repository" version, which is an older release so it's more stable, but also has less features. |
||
⚫ | Create a working folder wherever you would like your |
||
+ | [[File:Choices.jpg]] |
||
− | [[File:FileList.png|450px|thumb|none|For example, we want to download the Fire halls file, so we click on the Fire halls hyperlink]] |
||
+ | [[File:Latest_Release3.jpg]] |
||
− | Then, scroll to the bottom of the newly loaded page and select the file type you want to download (for this tutorial we want shapefiles (SHP), if available or keyhole markup language files (KML) if not. |
||
− | [[File:FireHallSHP.PNG|450px|thumb|none|Select the SHP file hyperlink]] |
||
− | Save the file into the folder that you’ve created to store all of your data, and then unzip it by right clicking the zipped folder and selecting Extract All… and then choose to extract it into the folder storing all of the other data files you have downloaded. |
||
+ | [[File:Google_Earth4.jpg]] |
||
− | [[File:Extract.png|450px|thumb|none|Right click the zipped folder and select Extract All]] |
||
+ | To download Google Earth, click this [https://www.google.com/earth/download/gep/agree.html 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. |
||
− | Here is what the folder looks like once all of the data has been downloaded and extracted: |
||
⚫ | |||
− | [[File:FilesinFolder.PNG|450px|thumb|none|Folder with all downloaded files]] |
||
⚫ | Create a working folder wherever you would like your project file to be saved, 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 the required data 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: |
||
+ | -[ftp://webftp.vancouver.ca/OpenData/shape/fire_halls_shp.zip Fire halls] |
||
+ | -[ftp://webftp.vancouver.ca/OpenData/shape/local_area_boundary_shp.zip Local area boundary] |
||
+ | -[ftp://webftp.vancouver.ca/opendata/shape/railways_shp.zip Railway] |
||
+ | -[ftp://webftp.vancouver.ca/OpenData/shape/rapid_transit_line_shp.zip Rapid transit lines] |
||
+ | -[ftp://webftp.vancouver.ca/OpenData/shape/shape_city_streets.zip City streets package] |
||
+ | -[ftp://webftp.vancouver.ca/OpenData/shape/zoning_districts_shp.zip Zoning districts and labels] |
||
+ | -[http://data.vancouver.ca/download/kml/public_washrooms.kmz 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. |
||
⚫ | |||
+ | |||
+ | [[File:Extract_All.jpg]] |
||
+ | |||
+ | Once you have downloaded the files, you will need to extract the zipped files in your DATA folder. |
||
+ | |||
⚫ | 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". |
||
[[File:Hospitals.PNG|450px|thumb|none|Results for the search hospitals in Vancouver, BC]] |
[[File:Hospitals.PNG|450px|thumb|none|Results for the search hospitals in Vancouver, BC]] |
||
+ | |||
+ | [[File:Copy_Results5.jpg]] |
||
Next, click the folder icon below the search results that says “Copy the current search results to My Places” when you hover over it. |
Next, click the folder icon below the search results that says “Copy the current search results to My Places” when you hover over it. |
||
[[File:Copytomyplaces.png|450px|thumb|none|Click the highlighted folder icon to move the search results into your My Places folder]] |
[[File:Copytomyplaces.png|450px|thumb|none|Click the highlighted folder icon to move the search results into your My Places folder]] |
||
+ | |||
+ | [[File:MyPlaces6.jpg]] |
||
Now right click on the folder containing your search results and select '''Save Place As... ''' |
Now right click on the folder containing your search results and select '''Save Place As... ''' |
||
Line 39: | Line 56: | ||
[[File:Saveplaceas.png|450px|thumb|none|Right click the folder and select Save Place As]] |
[[File:Saveplaceas.png|450px|thumb|none|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. |
|
⚫ | |||
− | [[File:SavingAfile.PNG|450px|thumb|none|Save your newly created file]] |
||
+ | [[File:NewProject.jpg]] |
||
− | Once you have exported the KMZ file and saved it in your folder with all of the data you previously downloaded, you are ready to start the 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 the project file into your working folder under whatever name you choose (try not to use spaces or funny characters in your file name). |
||
⚫ | |||
⚫ | Now that you have downloaded the software and collected the required data, it is time to begin. Open QGIS, |
||
=== Setting Up the Environment === |
=== 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 ''' |
+ | 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. Go to the '''CRS''' tab, then in the search box search for "NAD83(CSRS) / UTM zone 10N" and select it from the list. This will automatically project all files in your data frame according to this coordinate reference system. Click '''Apply''' to apply the change. From this window, under the '''General''' tab, you can set the project's home directory, which should be your "Data" folder. Once this is done, click '''Apply''' then '''OK'''. |
+ | |||
− | [[File: |
+ | [[File:Projection.jpg]] |
=== Importing Data === |
=== 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. |
||
− | Once QGIS is launched, go to the '''Layer''' menu -> '''Add Layer''' -> '''Add Vector Layer'''. In the pop-up window, set your source type as '''File''' and click the '''Browse''' button under the '''Source''' header. Browse to where your shapefile is and double-click it or highlight it and select '''Open'''. Insert each of the shapefiles you would like to analyze. When inserting the ''city streets'' shapefile, make sure to select the non_city_streets, one_way_streets, lanes and public_streets shapefiles from the folder. From the rapid transit folder, you only need to import the rapid_transit_line shapefile. Modify each shapefile to look the way you would like it to by double-clicking the layer from the '''Layers Panel''' on the left hand side, then selecting '''Style''' from the left hand side of the popup window. Here you can change the symbol type (such as gradient, single symbol, categorized etc), the colour, the size and more. You’ll notice that some of the points in the hospital KMZ you created don’t lie within the Vancouver ''local area boundary''; this is not a problem as later on in this tutorial the non-valid points will be clipped. |
||
+ | [[File:BeforeReorder.jpg|caption]] Before reordering |
||
⚫ | |||
+ | |||
+ | [[File:Reorder.jpg|caption]] After reordering |
||
+ | |||
+ | 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. |
||
+ | |||
⚫ | |||
=== Converting KMZ to Shapefile === |
=== Converting KMZ to Shapefile === |
||
− | In order to be able to perform operations such as buffer and clip |
+ | 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. |
+ | |||
⚫ | |||
+ | |||
+ | === Extracting Residential Areas from the Zoning Districts === |
||
+ | |||
+ | [[File:Select_Features.jpg]] |
||
⚫ | 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 all the 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 shown 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'''. |
||
− | === Editing Attribute Tables: Selecting by Expression === |
||
⚫ | |||
− | In the expression box of the select by expression window, when you double click on the '''CATEGORY''' from the ''Fields and Values'' list, "CATEGORY" will appear. Once that appears, select the equal (=) sign where the available operators are listed. The next step is to select a field value. Because we want residential areas, we need to select multiple zoning categories. The expression should be "CATEGORY" LIKE '%Dwelling%'. This selects all zones where “Dwelling” is in the name. Click the '''Select''' button in the bottom right hand corner and then click '''Close'''. |
||
[[File:Expression.PNG|500px|thumb|none|upright=2.0|Selection Expression]] |
[[File:Expression.PNG|500px|thumb|none|upright=2.0|Selection Expression]] |
||
⚫ | The selected zones that are now highlighted and 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'''. |
||
− | === Saving Selected Points (Shapefile) === |
||
⚫ | The selected zones that are now |
||
[[File:SavingASelection.JPG|500px|thumb|none|upright=2.0|Residential zones shapefile after it has been added to map]] |
[[File:SavingASelection.JPG|500px|thumb|none|upright=2.0|Residential zones shapefile after it has been added to map]] |
||
=== Merging Shapefiles === |
=== 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, select the '''Vector''' menu -> '''Data Management Tools''' -> ''''Merge Shapefiles to One'''. Check the '''Select by layer in the folder''' box (because both railways and streets are lines). Under ''Input files'' click '''Browse''' and select all of the street files you want to merge (all of the ones you have imported into the project previously). Make sure the '''Add result to map canvas box''' is checked and click '''OK''' and then '''Close''' when the operation is finished processing. Repeat this to merge the rapid transit and railways shapefiles and then remove all of the street and railways files you had imported earlier in the tutorial. |
||
+ | [[File:Merge_Streets.jpg|caption]] Merging street files |
||
+ | |||
+ | [[File:Merge_rail.jpg|caption]] Merging rail files |
||
+ | |||
+ | 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). |
||
[[File:MergedFIles.PNG|500px|thumb|none|upright=2.0|The merged street types and railways types]] |
[[File:MergedFIles.PNG|500px|thumb|none|upright=2.0|The merged street types and railways types]] |
||
=== Buffering Files === |
=== 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 to |
+ | 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 to '''Vector > 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. |
− | [[File: |
+ | [[File:Capture3.PNG|400px|thumb|none|Buffer of railway results]] |
− | Repeat this with each of the remaining shapefiles |
+ | Repeat this with each of the remaining shapefiles, setting the distance based on the criteria shown in the picture below. |
− | [[File: |
+ | [[File:HospitalCriteria.PNG|600px|thumb|none|Criteria for hospital site selection]] |
+ | |||
+ | Once you have buffered all the required filed, the finished result should look something like this: |
||
+ | |||
+ | [[File:AllBuffers.PNG|400px|thumb|none|Buffered layers]] |
||
=== Merging Shapefiles (again) === |
=== 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 |
+ | 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 === |
=== Difference === |
||
− | Because we |
+ | 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. |
+ | |||
+ | [[File:Capture4.PNG|500px|thumb|none|Difference tool]] |
||
+ | |||
+ | Repeat for the washrooms, but this time the ''Input layer'' should be the difference file you just created, and the ''Difference layer'' should be the washroom buffer. |
||
=== Dissolve === |
=== Dissolve === |
||
− | Because we performed multiple operations on the final file, we should dissolve everything |
+ | Because we performed multiple operations on the final file, it will contain many overlapping polygons. To eliminate any overlap we should dissolve everything, making it into one clean and inclusive shapefile. To do this, go to the '''Vector > Geoprocessing Tools > Dissolve'''. The ''Input vector layer'' should be the shapefile you just creating when removing the public washroom buffer from the acceptable areas merge. Have the file be saved into your "Data" folder and deselect the option to open the file after running. Click '''Run in Background''' then once it finishes close the window and add your new file to the data frame. |
− | [[File: |
+ | [[File:Capture5.PNG|400px|thumb|none|Dissolve parameters]] |
− | The final result of all of the processes we have performed should look something like |
+ | The final result of all of the processes we have performed should look something like the picture below. This polygon represents all areas of Vancouver that are suitable for hospital construction, according to our criteria. |
− | [[File:FinalArea.PNG| |
+ | [[File:FinalArea.PNG|400px|thumb|none|Final acceptable areas shapefile]] |
=== Making a Map === |
=== Making a Map === |
||
+ | Now that we have produced the data that we want to showcase, we can use QGIS to make it into a map. First, in the "Layers" panel make sure all the layers you want visible in the final map are checked, and that the ones you don't are unchecked. In our map we will display streets, hospitals, railways, and of course the suitable hospital area we created. |
||
− | 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. |
||
+ | |||
+ | To make your map layout, go to '''Project > New Print Layout''' then type in a name for your map and select '''OK''' (it does not have to be the same as the title you place on your final map). A new window will then open which lets you design your layout. To add the map to your layout, select '''Add Item > Add Map''' at the top of the screen, then drag out a rectangle on the canvas where you would like it to be. To re-position your map display, use the '''Move item content''' tool which can be activated on the left of the window. To move the map or any other features around the page, use the '''Select/Move item''' tool. You can resize the map by changing the scale, which is under the '''Item Properties''' tab on the right hand side. |
||
[[File:Scale.PNG|300px|thumb|none|Changing the scale of the map]] |
[[File:Scale.PNG|300px|thumb|none|Changing the scale of the map]] |
||
− | To add a title, select ''' |
+ | Once you are happy with the placement and size of your map, you can add the other required components which include a title, legend, scale bar and north-arrow. To add a title, select '''Add Item > Add Label''' and draw a box for your title. In the "Item Properties" panel, under '''Label''' you can type your title in the textbox and change the font type, size, colour etc. |
− | To add a north arrow, select ''' |
+ | To add a north arrow, select '''Add Item > Add Picture''' and draw a box on your canvas. In the "Item Properties" panel, under '''Search directories''' you can view different North Arrows and choose which one you would like to use. |
[[File:Northarrow.PNG|300px|thumb|none|Choosing a north arrow]] |
[[File:Northarrow.PNG|300px|thumb|none|Choosing a north arrow]] |
||
− | Similarly, you can add a scale bar by selecting ''' |
+ | Similarly, you can add a scale bar by selecting '''Add Item > Add Scalebar'''. |
− | To add a legend select ''' |
+ | To add a legend select '''Add Item > 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 |
+ | Once you have found a good placement for all the items, and have tuned their properties to your liking, you can export the layout as an image, SVG or PDF by selecting '''Layout''' in the top left and choosing either '''Export as Image''', '''Export as SVG''' or '''Export as PDF'''. |
[[File:FinalMap2.JPG|600px|thumb|center|upright=2.0|Final Map]] |
[[File:FinalMap2.JPG|600px|thumb|center|upright=2.0|Final Map]] |
||
== Conclusion == |
== Conclusion == |
||
+ | In this tutorial, you have learned how to produce a map in QGIS, showing suitable areas for hospital placement in Vancouver, BC, based on a specified set of criteria. However, the applicability of the techniques learned here is not limited just to this location, these criteria, or this exact purpose. By using different data and altering the buffer distances, these steps could be used to determine suitable placement areas for almost anything, and according to any set of criteria. More broadly, the skills acquired here, relating to setting up a QGIS project, manipulating data, and creating a map layout, can be used for countless other purposes. QGIS is a well-crafted and easy to use software, and this tutorial is just an example of the many ways that data can be manipulated within it to perform geographic analysis and produce informative maps. It also shows that the barrier to entry for GIS analysis is much lower than many people realize, as QGIS is free as long as you have a computer to run it. |
||
− | 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 == |
== References == |
Latest revision as of 21:40, 3 October 2019
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 for hospital construction 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 are summarized in the following image:
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.8 under the "Latest Release" section will be used for this tutorial. Other version will be able to do everything in this tutorial, though the names and locations of certain tools and options may be different. 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 project file to be saved, 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 the required data 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.
Once you have downloaded the files, you will need to extract the zipped files in your DATA folder.
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".
Next, click the folder icon below the search results that says “Copy the current search results to My Places” when you hover over it.
Now right click on the folder containing your search results 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 the project file into 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. Go to the CRS tab, then in the search box search for "NAD83(CSRS) / UTM zone 10N" and select it from the list. This will automatically project all files in your data frame according to this coordinate reference system. Click Apply to apply the change. From this window, under the General tab, you can set the project's home directory, which should be your "Data" folder. Once this is done, click Apply then OK.
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.
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.
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 all the 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 shown 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.
The selected zones that are now highlighted and 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.
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).
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 to Vector > 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.
Repeat this with each of the remaining shapefiles, setting the distance based on the criteria shown in the picture below.
Once you have buffered all the required filed, the finished result should look something like this:
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 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, it will contain many overlapping polygons. To eliminate any overlap we should dissolve everything, making it into one clean and inclusive shapefile. To do this, go to the Vector > Geoprocessing Tools > Dissolve. The Input vector layer should be the shapefile you just creating when removing the public washroom buffer from the acceptable areas merge. Have the file be saved into your "Data" folder and deselect the option to open the file after running. Click Run in Background then once it finishes close the window and add your new file to the data frame.
The final result of all of the processes we have performed should look something like the picture below. This polygon represents all areas of Vancouver that are suitable for hospital construction, according to our criteria.
Making a Map
Now that we have produced the data that we want to showcase, we can use QGIS to make it into a map. First, in the "Layers" panel make sure all the layers you want visible in the final map are checked, and that the ones you don't are unchecked. In our map we will display streets, hospitals, railways, and of course the suitable hospital area we created.
To make your map layout, go to Project > New Print Layout then type in a name for your map and select OK (it does not have to be the same as the title you place on your final map). A new window will then open which lets you design your layout. To add the map to your layout, select Add Item > Add Map at the top of the screen, then drag out a rectangle on the canvas where you would like it to be. To re-position your map display, use the Move item content tool which can be activated on the left of the window. To move the map or any other features around the page, use the Select/Move item tool. You can resize the map by changing the scale, which is under the Item Properties tab on the right hand side.
Once you are happy with the placement and size of your map, you can add the other required components which include a title, legend, scale bar and north-arrow. To add a title, select Add Item > Add Label and draw a box for your title. In the "Item Properties" panel, under Label you can type your title in the textbox and change the font type, size, colour etc.
To add a north arrow, select Add Item > Add Picture and draw a box on your canvas. In the "Item Properties" panel, under Search directories you can view different North Arrows and choose which one you would like to use.
Similarly, you can add a scale bar by selecting Add Item > Add Scalebar.
To add a legend select Add Item > 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 have found a good placement for all the items, and have tuned their properties to your liking, you can export the layout as an image, SVG or PDF by selecting Layout in the top left and choosing either Export as Image, Export as SVG or Export as PDF.
Conclusion
In this tutorial, you have learned how to produce a map in QGIS, showing suitable areas for hospital placement in Vancouver, BC, based on a specified set of criteria. However, the applicability of the techniques learned here is not limited just to this location, these criteria, or this exact purpose. By using different data and altering the buffer distances, these steps could be used to determine suitable placement areas for almost anything, and according to any set of criteria. More broadly, the skills acquired here, relating to setting up a QGIS project, manipulating data, and creating a map layout, can be used for countless other purposes. QGIS is a well-crafted and easy to use software, and this tutorial is just an example of the many ways that data can be manipulated within it to perform geographic analysis and produce informative maps. It also shows that the barrier to entry for GIS analysis is much lower than many people realize, as QGIS is free as long as you have a computer to run it.
References
- City of Vancouver (2017). Open Data catalogue | City of Vancouver. Retrieved December 18, 2017 from City of Vancouver http://data.vancouver.ca/datacatalogue/index.htm
- Google (2017). Download Google Earth. Retrieved December 18, 2017 from Google https://www.google.com/earth/download/gep/agree.html
- QGIS. (2014). Download QGIS. Retrieved December 18, 2017 from QGIS http://www.qgis.org/en/site/forusers/download.html
- Soltani, A. & Marandi, E. Z. (2011). Hospital Site Selection Using Two-Stage Fuzzy Multi-Criteria Decision Making Process. Journal of Urban and Environmental Engineering, 5 (1). Retrieved from https://doaj.org/article/62479c17294e4cfb9a5777caaf2c7a38
- Zhou, L. & Wu, J. (2012). GIS-Based Multi-Criteria Analysis for Hospital Site Selection in Haidian District of Beijing. Retrieved October 24, 2017 from https://www.diva-portal.org/smash/get/diva2:555935/FULLTEXT01.pdf