Data Acquisition and Manipulation


Data Acquisition

Initially, I was going to complete a least cost distance between all parks, lakes, rivers, electricity and railways lines in the Greater Vancouver Regional District (GVRD)but soon realized that this would not be realistic. So, I settled for doing a least cost distance between greenspaces, railway lines, and electricity lines in Burnaby, BC. For the final project, I ended up using the following shapefiles:
I received all my data from the GVRD folder in the Data Warehouse in the SIS Lab.


Data Manipulation

The data manipulation portion of this project included two parts:

1. Manipulations in ArcMap
2. Manipulations in Idrisi


A. Manipulations in ArcMap

The first thing I did in ArcMap was import all the shapefiles I intended to use for my project so that I could examine them.  Upon examining the databases and metadata of the shapefiles, I noticed that the database information for the "Greenspaces 2"  shapefile was not very useful because the greenspace shapes were made up of lines and not polygons.  This meant that every park or greenspace was made up of three or more lines, and that area could not be calulated.  See figure 1. Note how Mount Seymour is made up of three lines.

Figure 1.
green_dbs


 In order to convert the "greenspaces2" shapefile from lines to polygons I had to perform the following steps:
  1. Go to ArcToolbox in ArcMap
  2. Convert shapefiles to coverages--Go to "Conversion Tools" > "To Coverage" >"Feature Class to Coverage"
  3. "Clean" up the topology---Go to "coverage Tools>Data Management>Topology > clean (selected "poly" option) > I renamed "greenspaces2" to "greencleanpolygon".
  4. Reconvert the "cleaned" coverage back into a shapefile so that I coud import it into IDRIS--Go to "Conversion Tools" >"To Shapefile" > "Feature Class to shapefile"

The "Clean" function converted "greenspaces2" into a polygon and created an "area" field. I thought that my problems were over but they were not...  Once "greenspaces2" was converted into a polygon ie."greencleanpolygon", I had a problem with identifying which greenspace corresponded to which OID. See figure 2.  So, I had to manually go through the "greenspaces2" shapefile in ArcMap, using the manual selection button, click on each line representing a greenspace, and cross-reference it with the database.  I printed out a "greenspaces2" layer and noted the greenspaces names on the map as I went through them manually.  Once I identified the names of the greenspaces on the printed out map, I used the information to determine which OID's related to which greenspaces on the "greencleanpolygon" shapefile.  Once again, I had to select each park manually on the map layer and cross reference it with the database to determine which parks corresponded with which OID's.



Figure 2
greencleandatabase















Once I was able to determine the names of the greenspaces, I created a "name" field in the "greencleanpolygon" database--but only for the greenspaces that I would use in my final analysis--and entered the names of the greenspaces using the "Editor Toolbar" under "Tools" in ArcMap. See figure 3.

Figure 3
greenclean_database2

Once the names of the greenspaces were entered into the "name" field, I exported each of the greenspaces as a layer. To do this I used the "export data" option under "data" in ArcMap.  This was found by right-clicking on the "greencleanpolygon" layer.  Before exporting the individual greenspace layers into IDRISI, I double checked to see that they were projected to UTM 10n. They were.



B. Data Manipulation in IDRISI

The first thing I had to do in IDRIS was import the shapefiles I would use for my analysis from ArcMap.  In order to import the shapefiles I had to perform the following:

  1. Go to "File" > "Import" > Software-Specific Formats > ESRI Format > shapeidr
Although I projected the shapefiles into UTM 10n in ArcMap, I had to re-select the reference system UTM10n when using "shapeidr." 


When you import shapefiles from ArcMap, they are in vector format.  If you want to perform any spatial analysis in IDRISI, you have to re-convert the newly created vector layers into raster. In order to convert vector to raster in IDRISI, I had to either create or find a "blank" raster layer containing the relevant parameters. Luckily, I found an existing raster layer in the "gen" folder in the SIS Lab in the data warehouse, and used it as my "blank" instead of creating one with new parameters.  This is how I converted vector into raster:
  1. Open Macromodeler in Idrisi > Add vector layer, "blank" layer, and the "polyras" module into the macromodeler.  I used "polyras' for the "greencleanpolygon" layer because its made up of polygons. For the other other layers i.e. railway, electricity, I used the "lineras" because they are made up of lines--not polygons  
  2. Connect the vector layer first and then the "blank" layer to the "polyras" or "lineras" module.
  3. Name the to-be-created raster file.
  4. Save and run the model.

At first I was going to do a least-cost path between ALL the parks in the GVRD but soon realized that this would also be a very unrealistic goal. Regardless, I kept ALL the macromodelers to demonstrate the brutal process that one would have to go through if they were to do a least-cost between ALL parks in the GVRD.  See figure 4 for Macromodeler fun! See Appendix 1 for more macromodelersClick here 



Figure 4
parks to raster 4




After I converted ALL of my vector layers into raster I was ready to move on to the next phase of data manipulation--creating a "friction surface"
for my CostGrow. In order to create a "friction surface" I had to create an "attribute values file" based on the "landuse" layer. See Figure 8.  To create an "attribute values file" I used the "edit/assign" module.  In "edit", I entered the following friction values for the following land use types:

Agricultural                                                1 1
Harvesting and Research                             2 2
Extractive Industry                                     3 1000
Residential                                                 4 4
Rural Residential                                        5 3
Residential Town House                             6 5
Residential High Rise                                  7 1000
Commerical                                               8 1000
Industrial                                                   9 1000
Institutional                                                10 10
Transport, Communications, utility lines       11 1
Parks and Protected areas                            12 1
Lakes                                                         13 1
Open Space and Undeveloped                      14 1
Protected Watershed                                    15 1


Once the friction values were recorded in the "edit" module, I saved the "edit" as a real data type with the extention avl.


Figure 8
landuse_layer

Rationale for Friction Values?

To produce the friction surface I simply opened macromodeler in IDRISI, inserted the "landuse" layer, the newly created "attribute values file" and the "assign" module and connected them.  The end result was a friction surface called "landuse_friction." See figure 9 and 10. I used the "landuse_friction" layer for all my costgrow surfaces.


Figure 9
landuse_friction




Figure 10
friction_surface



Preparing Cost-Grow Surfaces in IDRISI

In this section I will demonstrate how I prepared all my Cost-Grow surfaces.  The Cost-Grow surfaces are the centres of origin upon which the "Pathway" modules will connect with to create our least-path costways in the "Spatial Analysis" section.

The process for creating the CostGrow Friction surfaces was always the same. I opened macromodeler, inserted the "landuse_friction" layer, the feature layer I wanted to be the centre of origin i.e. electricity_railways, and the "cost" module.  I then right-clicked on the "cost" module and chose the "CostGrow" option. Once I chose the "CostGrow" option, I connected the feature layer first and the "landuse_friction" second to the "overlay" module.  I then renamed the final CostGrow, and saved it.

Example: Electricity and Railway CostGrow

Before I could create a costgow-friction surface for the Electricity and Railway right-of-ways I had to overlay them using "addition" so that they would be on the same layer. See Figure 11.



 Figure 11
electric_rail_overlay










Next, I inserted the electric_rail overlay into the macromodeler with the landuse_friction surface and connected them to the cost module.  see figure 12. Before running the module I made sure that I selected the CostGrow option instead of the CostPush option.  You are required to used the Costgrow for more complicated analysis. To see all the costgrows for this project go to Appendix 2



Figure 12
electric_rail_costgrow



Home
Back    Next