GEO 580



LAB 3: Simple Spatial Analysis

Suggested time for completion: Two weeks



Outline


3.1 Purpose

To review general GIS applications, including:

and introduce students to their function in ArcInfo



3.2 Introduction and background

     This lab will introduce you to several analysis methods -- many of which you will have used in previous GIS courses or work, or have experience through a lecture setting.  As much of the material will be review, it will not all be covered in extreme detail (but the the specifics of using the tool or analysis method in ArcInfo 8 will be covered).

Buffers:  A buffer is a polygon surrounding a point, line, or polygon at a set or varying distance.  Buffers are used for proximity analysis -- for instance, finding all of the neighbors within 1000 feet of a new construction project.

Dissolve:  Dissolve merges adjoining features to form new regions based on a common attribute.  This is occasionally referred to as aggregating data.

Clip:  Clip allows for the "cookie cutting" of a coverage to a specified area.  For instance, a coverage of the Santa Barbara city limits could be used to clip a county wide roads file -- after the operation, only the Santa Barbara city roads would remain.

Data projection:  Project is used to define the projection for a coverage, or to change the projection for a dataset to match an existing dataset or to a user specified projection.

    Data projection is central to work with geographic data.  How should a 3-dimensional object be represented on a 2-dimensional surface?  A projection makes this possible.  In any projection, there will be at least one of the following forms of distortion: area, angle, distance, and/or direction.  Each projection has its pros and cons, primarily related to which of the four are distorted or preserved.   Additionally, projections are often chosen for aesthetic reasons -- certain projections are more useful for display of certain regions.  For example, you would not want to use a cylindrical projection to display areas of high latitude.

Joining data: Joining tables allows for assigning new attributes to a spatial feature based on common fields in tables.

Look up tables (LUT) / relationship classes:  Relationship classes provide similar results to that of joining data, however, data in the tables are not actually merged.  A symbolic link is created between two tables sharing a common field, allowing the data from the other table to be accessed based on a common key.  Essentially, a relationship class allows a temporary connection between features in one coverage, and attributes in another table.  ArcInfo 8 relationship classes also allow for rules to be set between the related tables.
 

Relationships are divided into four groups, based on the relationship's cardinality -- how many features in the coverage are related to how many attributes in the related table:
  • one-to-one (1-1):  In a one-to-one relationship, for each feature in the coverage there is exactly one corresponding related item in the attribute table.
  • one-to-many (1-M):  For each feature in the coverage, there are more than one corresponding related items in the attribute table.
  • many-to-one (M-1):  For each corresponding related item in the attribute table there are more than one feature in the coverage.
  • many-to-many (M-N):  Several features in the coverage are related to more than one corresponding related items in the attribute table.
 

 
Further, relationships can be classified as either simple or composite relationships:
 
  • Simple -- Simple relationships are relationships between sources independent of each other -- that is, they do not depend on the other data to exist.  As an example, linking vegetation polygons to a name table.
  • Composite -- Composite relationships are relationships with sources dependent on the other -- that is, if a feature is deleted from one dataset, the dependent portion of the other dataset will be deleted as well;  one can not exist without the other.   An example of a composite relationship would be power poles and transformers -- a transformer can not exist without a power pole.



3.3 Data

Getting Oriented


Coverages:
bound06083 -- Boundary coverage for Santa Barbara County (06083)
blockgroups -- Coverage containing Census blockgroups for Santa Barbara County
place06 -- Coverage containing place boundaries for the state of California (06)
street06083 -- Coverage containing GDT's Dynamap/2000 street files for Santa Barbara County (06083)

Shapefiles:
iv_parcels -- Shapefile containing parcels in Isla Vista, CA
iv_roads -- Shapefile containing roads in Isla Vista
iv_buildings -- Shapefile containing building footprints for Isla Vista

Other:
tractdata.dbf -- database file containing attributes for the census tracts in Santa Barbara County

Copy the data to your local work folder.



3.4 Procedures

3.4.1 Buffers
    A buffer is useful for determining whether a point/line/polygon falls within a certain distance of another point/line/polygon.  In this example, we will use two different methods to create a buffer to determine which properties fall within a certain distance around another property.  In the first step, we will create a new layer consisting of a polygon of the buffered area.  This new polygon can be used for selection of datasets or for graphic display.  In the second step, we will select all of the polygons that fall within a buffer region.  This type of analysis is useful for identification of areas and report generation.

    Buffer analysis is often done in fields such as city and regional planning.  For this portion of the lab we will use our Isla Vista property data.

    First, convert the iv_parcels, iv_roads, and iv_buildings shapefiles to coverages (this might be a good time to experiment with the batch option if you would like to learn how to process all of the shapefiles at the same time).
 

Creating a buffer
     To create a buffer, you first must identify the object around which the buffer will be created.  This can be as small as one line segment, polygon, or point, or as large as all points/lines/polygons in a coverage.  For this example, we will create a buffer around a property polygon in Isla Vista. 

     We will use ArcMap for our buffer analysis.  You will want to set the display units in ArcMap after you add the parcel coverage (View->Data Frame Properties, under the General tab).  Set the display units to feet. Leave the map units in decimal degrees.

     Selecting a polygon -- there are several methods for selecting a polygon for buffering.  If you know the location visually, you can zoom to the area and use the "select features" button.  If you only know the location by attribute, you can query the attribute table by using the Select by attribute option under the Selection heading in the ArcMap menu. 

    Select the parcel located at 6571 Sevilla Rd using one of the two above methods, or any other method that you prefer. 

     Once the parcel has been selected, zoom to it by using Selection --> Zoom to Selected Features.

     Now, convert the selected parcel to a new layer -- right-click on the iv_parcel layer, and go to Selection --> Create Layer From Selected Features.  Now, using the select tool, select the one parcel in the new layer. 

     Under Tools --> Buffer Wizard and create a 500-foot buffer around the selected parcel.

About the buffer wizard:
  • Input coverage -- the coverage with the feature to be buffered
  • Feature class -- the feature class in the input coverage (should be automatically filled in)
  • Buffer distance -- the size of the buffer to be created
    • Fixed distance -- a buffer of a constant distance from all input features
    • From item -- a buffer of a size related to an item in the feature attribute table
    • From distance table -- a buffer based on size listed in a distance table
  • Fuzzy tolerance -- the minimum distance between coordinates in the output coverage (often times a default fuzzy tolerance is calculated)
  • Output coverage -- the new buffer coverage
Another method for creating a buffer
     In this method for creating a buffer, the buffer can be used to select all of the features within a certain range of the buffer origin. To do this, click on Selection --> Select by Location, and select features from iv_parcel that are within 500 feet of the selected parcel.    Convert this selection to a new layer (Selection --> Create Layer From Selected Features).  We can now create a report of all properties within 500 feet of the selected property. 

    Note: there is more than one method for creating a buffer that selects all features within our buffer region.  If inclined, try to find other ways to do this same analysis.

     To create the report, select Tools --> Reports --> Create Report.  Select the appropriate layer (the one with just the polygons within 500 feet of the selected), and put the street number, street name, city, and zip code in the report.  Add a title to your report (look under the "Display" tab). 
 


 
Turn in the first page of your report with your lab.  Make sure that the report is readable and well organized.

Answer question 1:  For what do you think this analysis would be used?  How would two methods used be useful in different ways?

Answer question 2: Name at least two other projects which would benefit from buffer analysis.



 
3.4.2 Clip - In this section we will learn about clipping data so that the spatial extents match.  This is useful to remove extraneous portions of a coverage. 
 
    Let's go through an example of clipping.  Say we wanted to do some analysis on Santa Barbara County, however the only coverage that we have with the appropriate polygons (Census "places") covers the entire state.  Since we only want the polygons located within Santa Barbara County, we will use a clip coverage to remove only this portion of the state and convert it to a new coverage. 

     Clipping a coverage is done using the ArcToolbox tool Clip.  We want to use the place06 coverage and the bound06083 coverage to create a new coverage that contains only the "places" of Santa Barbara County.   To do this, start the Clip tool, and enter the correct information in each field.  Remember to give the new coverage a name appropriate to its contents.

About the fields required for clipping:
  • input coverage -- the coverage that will be clipped
  • clip feature -- arc, point, polygon, etc.
  • clip coverage -- the coverage used as the "cookie cutter" in the clip
  • fuzzy tolerance -- the minimum distance between coordinates in the output coverage (often times a default fuzzy tolerance is calculated)
  • output coverage -- the new coverage created by the clip
 
Answer question 3: Why might clipping data not always be the best method for obtaining data?  (Think in terms of accuracy and data scale / resolution).


 
3.4.3 Dissolve

     As an example of the dissolve function we will use the dissolve function to dissolve blockgroups into tracts.  Census geographic divisions are organized in a nested hierarchy as follows: Nation -> Region -> Division -> State -> County -> County Subdivision -> Tract -> Block Group -> Block.  Each level down marks a smaller measurement area, none of which overlap -- for instance, no area is in two different block groups, counties, or states, etc. 
 

     In this example from Isla Vista, blockgroup 060830029.12:3 is highlighted.  The hierarchy of Census divisions can be see in the following:
State -- 06 (California) 
County -- 083 (Santa Barbara County) 
Tract -- 0029.12 
Blockgroup -- 3
     We want to dissolve the blockgroups coverage into tracts.  To use the dissolve function, the first step is to open ArcToolbox and navigate to the Dissolve Tools.   Once you have found the Dissolve Tools, you need to decide whether or not you want to use the Dissolve or the Dissolve Regions tool.

 
Answer question 4:  Explain the difference between "Dissolve" and "Dissolve Regions."  Which did you select?  Why?

 
3.4.3 Dissolve (Cont.)

     Once you have selected the tool that you want to use for this job, double click to start the tool.  Add the blockgroups coverage as the input coverage.  Pick the appropriate dissolve item (the item in the attribute table that defines which polygons should be dissolved into one polygon), set the output coverage (pick an appropriate name for your file) and click OK

Note:  When setting output coverages (or creating new coverages, etc), be sure that you are saving the coverage in the correct folder!  If you just type in the file name it may not save to the correct folder -- to ensure that you save your data to the correct location, place your mouse over the  folder icon.  This will tell you the exact location where your data will be saved.  If it is incorrect, click on the folder and navigate to the correct location.

     Examine both the geography and attribute table for your new coverage (use the Preview tab).


 
Answer question 5:  What happened in the dissolve?  What has changed in the geography and the attribute table?  Why do you think that this happened?


 
3.4.4 Projections
 
Projection: ArcInfo 8 has made the task of data projection quite simple, with the inclusion of the Define Projection Wizard, and the Project Wizard.

     The Define Projection Wizard is used when a coverage does not have an associated .prj (projection) file, and it allows you to define the coverage's projection interactively, or to define the projection to match an existing coverage (useful if you know that an existing coverage is using the same projection as the coverage for which a projection is being defined.)

     The Project Wizard is used when a coverage already has a defined projection, however, you want the coverage in a different projection.

Related help files:
  • ArcCatalog: Projection tab
  • ArcToolbox: Project wizard
  • ArcMap: Projections, choosing
Defining a projection:
 

If a coverage does not already have a projection defined, the Define Projection Wizard is used to define the projection. 

     The wizard allows for the projection to be defined interactively, where the user selects the projection and all of its parameters, or the projection can be defined based on the projection information for another dataset.  This only works if the two datasets are in the same projection and have the same parameters. 

     For either method, you must already know, or have a good idea of the coordinate system being used for the data.  Some hints on identifying coordinate systems can be found in the links listed at the end of this section.


Projecting a coverage:
 

To project a coverage, use the ArcToolbox Project Wizard tool.  From here decide whether you want to define the new projection interactively -- where you select the new projection, datum, and associated parameters, or define based on an existing coverage. 
  • To project your data to match an existing coverage, you simply need to select the coverage to be projected, the matching coverage, and an output coverage. 
  • To select a new projection interactively take a bit more thought -- you need to decide on a coordinate system, projection, datum, and an assortment of geographic parameters. 
 

 
Answer question 6:  The bound06083 data set does not yet have a projection defined.  By looking at the properties of the dataset, determine the correct projection and define it using the "Define Projection Wizard."  What ESRI "projection" is bound06083?  (Hint - the coordinates of the tic marks may provide a clue as to the coordinate system)


 
 
For more information on projections and coordinate systems:


 
3.4.5 Joining data
     When we dissolved the blockgroups into tracts in section 3.4.3, some of the attributes disappeared.  Fortunately, we have a table with data for the new tracts coverage (tractdata.dbf) -- but we need to join it to the new tracts coverage in order for to be useful.

     To join data, use the Join Tables feature in ArcToolbox.   Your input table is the table to which you want the new information joined -- in this case, the polygon attribute table (PAT) for your tracts coverage.  Your join table is the table containing the information to be joined -- the join table must also be a feature attribute table.  We have a .dbf file containing the new attributes for the tracts coverage -- this will not work in Join Tables, so we must convert it to an "INFO" file.  To do this, in ArcCatalog right click on the .dbf file, and Export --> dBASE to INFO.

     In order for a join to take place, the field name of the key field must be the same in both the input and join tables.  Check to make sure that the join fields in the tracts PAT and the INFO file have the same name.  If not, edit the INFO file field name so that they match (right-click on INFO file, --> Properties, --> Items tab, select the field, and --> Edit). 

     Use a Linear join method, and use the default output table (it will write over your existing tracts PAT, joining the data). 

Examining the new attributes
     If you look at the attribute table for the tracts polygons now, you will see that you have two new attributes, called persons and medhhinc, (Median Household Income) that were not there before.  "Persons" can be a deceptive item in geographic datasets.  Often people are more interested in Persons/square kilometer or population density than in total count of persons per variable sized polygons.  Therefore, we will create a new item in this table and calculate population density for the tracts polygons. This process is sometimes called Normalizing by area.  To create the new item in the tracts.pat right-click on the tracts polygon and select Properties.

Normalizing data
 

In ArcCatalog, add a new item to the table (right-click on the the coverage's polygon feature class --> Properties --> Items tab).  Name it POPDEN, and assign it an input width 8, display width 12, and type float. 

     Using ArcMap, open the attribute table for your tracts coverage (right-click, Open Attribute Table), and also Editor --> Start Editing (you may need to open the editor toolbar to do this).  Right-click on the POPDEN field, and select "Calculate Values."  Using the field calculator, calculate a value for the new POPDEN field as: 

POPDEN = 1000000 * ( [PERSONS] / [AREA])  -- we multiply by 1000000 to convert to square kilometers because the units are in square meters. 

     Make sure that the new values look correct, if so, Stop Editing and save your edits, and then change the draw symbol for the tract polygons to graduated color for the POPDEN values. 


 
Answer question 7:  Find the census tracts with population densities greater than 16,000 persons/km.  Are the density values higher than you expected they would be for these areas?  Explain why you feel these values may be spurious.


 
3.4.6 Relationship classes 

Creating a relationship class table

     The street06083 coverage provided in this lab lists, for each street segment, the CFCC -- the Census Feature Class Code.  The CFCC denotes the road type for the segment.  We want to know the actual road type (such as "paved, two lane") rather than the representative code, so that we can use these to classify the roads.  To do the classifications, we will need to create a look up table (LUT) with the CFCC values and their matching road description. 

     We will create the table using Microsoft Excel. 

Finding the data

     We are using US Census TIGER (Topologically Integrated Geographic Encoding and Referencing) street files.  We can find the CFCC descriptions through the Census TIGER description document.  Using the definitions provided, create a table with CFCC and description fields.  You will want to condense the descriptions into broad categories (i.e., Primary Highway, limited access -- rather than using the individual descriptions for each CFCC in that category).  Note: The CFCCs in the roads coverage run from A11 -- A73. 

     When you have finished entering the data into your new table, save it to your working directory as a DBF 4 file (.dbf).  When your file is saved, make sure that it appears in your directory in ArcCatalog (you may need to Refresh the view).  Right click on your new table, and export dbase to INFO. (You will need to have the file closed in Excel to do this.) 

Note: When exporting, make sure that the INFO description field will be wide enough for your descriptions (click on "Define Mapping" and go to the dbase description field to check the item width). 

     Once you have your info file, check to make sure that the fields appear correctly.  You are now ready to set up a relationship class using your new LUT. 

Setting up a relationship class

     Setting up a relationship class is quite simple -- right-click on the coverage for which you want the relationship, then select New --> Relationship Class.

     Give the new relationship class an appropriate name, and set your Info table as the origin and your street06083 file as the destination.  This is a simple relationship, with no messages propagated, and you do not need to add attributes.  You will need to figure out what type of relationship this is (one-to-one, one-to-many, or many-to-many), and which fields to use for the relationship. 
 


 
Answer question 8: What type of relationship is this?  Which fields were used?

Answer question 9:  Give at least one example of where it might be better to use a relationship class rather than a join.


 
Using the relationship class
     To use the relationship class, add your roads coverage to an ArcMap file.  Open the Properties for the coverage.  Select the Joins & Relates tab, and add your relationship class as a Join.  When you have done this, click OK.  Now you should be able to access the fields in your related table.

 
Your map for Lab 3: 
     Create a map of the Santa Barbara County roads, classified by road type.  Make use of the Properties --> Symbology tab to choose logical symbols for the different road types.




3.5 Conclusion

     In this lab you have learned about many of the analysis options provided in ArcInfo 8.   These analysis methods will be frequently used in "real world" GIS analysis.  Keep in mind, however, that while is it useful to understand how to use these analysis tools, it is also useful (perhaps more so) to ensure that you have a solid grounding in the theory behind the analysis.




3.6 To turn in

Lab originally created by Nicholas Matzke and Sarah Battersby
UC Santa Barbara, Department of Geography
© 2000, Regents of the University of California; redistributed by permission

Last update: April 8, 2002
http://dusk.geo.orst.edu/buffgis/Arc8Labs/lab3/lab3.html