UW - Geog 460 - Autumn 2003

Exercise 2: Attribute Operations

Due date (at the beginning of your lab section):

AA, AB, AC on October 29

AD, AE, AF on October 30

Objectives:

-To become more familiar with the data layers and their characteristics through continued exploration of the Bainbridge Island data set.

-Practice attribute-based transformations .

To help you understand this lab, please be familiar with the following:

How To Save Your Work

Exploring Geographic Information Systems (Chapter 4)

Attribute-based operations (Lecture 8)

Exercise 2 Deliverables:

Completed answers to the questions in Parts A, B, and C. Please answer the questions in your own words .


Initiating the Project

1. Please read and make sure you understand how to save your work .

2. If you haven't already done so, create a working folder on P:\Students\My_UWID .

3. Start ArcMap and open "a new empty map". Add site_lc_71.shp from p:/Geog460au03/Data

4. Load Spatial Analyst (Tools -> Extensions) and set the working directory (Spatial Analyst -> Options -> General -> Working) to your working folder on P: . In order to bring up the Spatial Analyst toolbar, right-click on any point of the menu or tool bar and check Spatial Analyst in the list.

5. In case you need to see the metadata of a dataset, look at the text provided by Gene Martin.

6. Finally, save a copy of the current project as a new project in your working folder on P: .


Part A: Transforming Land Cover Data Attributes

1. Take a look at the layer site_lc_71and its attribute table (Right mouse button on name of layer) , you will see the field "VEG_CODE71", populated with integer codes.

2. Add another table "ulc.dbf" table (use button ) then connect to the "p:\geog460Aut03\data" directory, and select the ulc.dbf table. Examine the contents of this table; it should contain both a field named "ULC_CODE" and a field with descriptive information, "ULC_DESCRI". This table has a the vegetation code as its identifier (Primary Key), and can be applied to any instance where these codes are used (for 1971 land use, or 1987 or whenever...). We have a layer where the interpretation was done in 1971.

Ulc.dbf also has a third attribute, "Hab_Suitab". This field contains habitat suitability values for the species K.ignorans which has a strong preference for wooded hideouts. (0 = No Data; 1 = Unsuitable; 2 = Moderately Suitable; 3 = Preferred Habitats)

3. Now you are going to join the table to the layer attributes so that the abritrary numeric identifers become more understanable by augmenting them with the text description. Right-click on the layer title to get the join data dialog .

4. In the Join Data dialog, fill in each blank to let the machine know you are going to join the table ulc.dbf to the layer based on the field "VEG_CODE71" as Foreign key, and ULC_CODE as Primary Key (the descriptions of these roles are not entirely obvious from the weak wording of the dialog box).

Question A1 : Describe the results of the join operation.

5. Reclassify the legend of the "site_lc_71" layer according to the "ulc.ULC_DESCRI" field. [You can change this under the Symbology in the Layer Properties. In the Symbology window, choose 'Unique Values' under 'Categories'. Choose 'ULC.ULC_DESCRI' in the 'Value Field' and click 'Add All Values', then 'OK'] Examine your results.

6. Reclassify the legend of site_lc_71 again, and this time according to "HAB_SUITAB" field. [You change this under the Symbology in the Layer Properties (double click on layer name).]

Question A2 : What is the relationship between the "ULC_CODE" field in the "ulc.dbf" table and the "VEG_COD71" field in the "Attributes of site_lc_71" table?

Question A3 : Describe how the join operation made the two reclassify operations possible.

Question A4 : What are the levels of measurement associated with "Veg_cod71", "ulc.ULC_DESCRI", and "ulc.HAB_SUITAB" fields in the "Attributes of site_lc_71" table?

7. Delete the "site_lc_71" layer from the "Part A" data frame.

8. Add the shapefile dataset "site_lc_71.shp" by clicking on the "Add Data" button . (This dataset can be found in "p:\geog460Aut03\data" directory.)

9. Open the table associated with this newly added layer.

Question A5 : Why aren't the "ULC_DESCRI" and "HAB_SUITAB" fields present?


Part B: Transforming Census Data Attributes

Planning where to build may include consideration of population density. Population dense areas may have already used up all the buildable land.
Alternatively, areas that are unpopulated may lack sufficient services for residences to be desirable for buyers. Knowing this, you want to consider locations in areas of 'medium' population density for construction of your residential building project. This part of the exercise uses the 'Raster Calculator' to perform a query.

Add the following data from p:/Geog460au03/Data to your project: blk2000.shp and bi_pop_ppp. Open arcCatalog and view the metadata information.

Question B1: Explain how the grid bi_pop_ppp was created from this shapefile. (three lines, 35 words)

Question B2: What level of measurement are the values in the "Value" field? (one line, 10 words) Tricky! Consider the actual measurement of population as well as the transformation used to assign values to the cells in bi_pop_ppp.

Question B3: What measurement framework was used to create bi_pop_ppp? (two lines, twenty words)

Question B4: What size are the cells in bi_pop_ppp? In what unit of measure? (one line two words/numbers)

Right mouse click on bi_pop_ppp to get the pull down menu. Select 'open attribute table' to display the attributes of the grid layer.

Question B5: What do the fields "ObjectID" and "Count" represent? (three lines, 35 words)
Hint: These fields are regular components of ESRI grid data.

Question B6: What level of measurement are 'Object ID' and 'Count'? (two lines, 25 words)

Question B7: Explain why some of the values in the "Value" field have "E-" in them. (three lines, 35 words) Hint: Right mouse click on the field header for 'Value' and select "sort descending".

Now that you've explored the data layers a little, lets find some areas with suitable population density for a building project. Before you can do this, you need to set some criteria for your query. You've done some research that suggests the best population density of areas suitable for your interests are between 15 and 25 people per acre.

Question B8: How many square feet are in an acre? (one line, one number)

Question B9: What is the value in people per pixel of a location that has 15 people per acre? (one line, one number)

Question B10: What is the value in people per pixel of a location that has 25 people per acre? (one line, one number)

Click on the 'Spatial Analyst' tab to get the drop down menu. Select 'Raster Calculator'. You'll want to read up on "About Building Expressions" (click this button).

Question B11: Write a single equation that will query bi_pop_ppp and identify cells that have desirable population densities for your needs. (one line ten words)

Execute your equation in the Raster Calculator.

Question B12: How many cells are suitable for your purposes?

Question B13: If you made a map of your results from the Raster Calculator, how would you label the legend to explain the values that result from your equation in the Raster Calculator? (two lines, 20 words)

Question B14: What attribute operation have you just performed? (two lines, 25 words)

Question B15: What level of measurement do the results of your Raster Calculator operation have? (one line, 10 words)


Part C: Finding suitable building sites by creating ordinal classes in an
attribute table

In this section you will identify areas with the best soil type for building construction.

In Arc Catalog copy bisoil_limits.shp and put it in your folder on P:students/your net id

From your folder, Add the bisoil_limits.shp to an ArcMap project. Open the attribute table. Notice the soil types listed in the name field. We want to learn more about soil stability and where stable soils for construction are located. Check the metadata for bisoil_limits.shp in Arc Catalog: there is information within the supplementary information link, which will help make the shapefile useful for site suitability analysis.

We are going to create a new field, with intentions of ordering the nominal soil categories into three classes: slight, moderate and severe. Open the attribute table and select options in the bottom corner of it. (select create new field) name it limits and select text type.

Now we can add the soil limits information by doing queries using the select by attributes function in Arc Map. (the selection drop down menu) in the select by attributes window one can do a number of different operations by entering various queries. For the purposes of this exercise we are giving you the query syntax. In the "real world" (and your projects!) you will find that you will have to figure these out on your own. Here we are going to do the query in three separate queries. You may cut and paste the syntax below or type it in your self or use the buttons provided.

1) The first query selects all the slight classes:

( "NAME" = 'Alderwood_e') OR( "NAME" = 'Cathcart_e') OR( "NAME" = 'Grove_e') OR( "NAME" = 'Indianola_e') OR( "NAME" = 'Nielton_e') OR( "NAME" ='Ragnar_e') OR( "NAME" = 'Urban Land_e')


After you apply the query the selection is made. Now open the attribute table and right click on the top of the limits field. Choose calculate values and type the word "slight" (use quotes!) in the box provided. Each selected field should be updated with the new information. Now clear your selection (the selection drop down menu)

2) Now do a second query for the moderate classes:

( "NAME" = 'Alderwood_q') OR( "NAME" = 'Cathcart_q') OR( "NAME" = 'Harstine_q') OR( "NAME" = 'Indianola_q') OR( "NAME" = 'Kapsowin_q') OR( "NAME" = 'Kitsap_q') OR( "NAME" = 'Nielton_q') OR( "NAME" = 'Ragnar_q') OR( "NAME" = 'Shelton_q') OR( "NAME" = 'Sinclare_q')

Calculate values and call them "moderate" (use quotes)
Make sure you clear the selection each time.

3) Now do a final query to select the severe classes:

( "NAME" = 'Alderwood_w') OR( "NAME" = 'Belfast_w') OR( "NAME" = 'Cathcart_w') OR( "NAME" = 'Harstine_w') OR( "NAME" = 'Indianola_w') OR( "NAME" = 'Kapowin_w') OR( "NAME" = 'Kapsowin_w') OR( "NAME" = 'Kilchis_w') OR( "NAME" = 'Kitsap_w') OR( "NAME" = 'McKenna_w') OR( "NAME" = 'Mukilteo_w') OR( "NAME" = 'Nielton_w') OR( "NAME" = 'Norma_w') OR( "NAME" = 'Poulsbo_w') OR( "NAME" = 'Ragnar_w') OR( "NAME" = 'Schneider_w') OR( "NAME" = 'Shalcar_w') OR( "NAME" = 'Sinclare_w') OR( "NAME" = 'Tacoma_w')

Calculate values and call them "severe" (use quotes)

Now use the select by attributes tool to do a simple query: for example, ( "limits" = 'slight') and so forth.

Question C1 : Did this attribute operation increase or decrease the amount of
information?

Question C2 : What attribute-based operation did you perform?

Question C3 : What do the values slight, moderate, and severe represent?


Version of 15 October 2003 (composite)