Week 3: Vector Overlay & Analysis

Back To Week 2 and Tabular Data Structures | On to Week 4 and Raster Analysis

Overview:


Topological Overlay
The topological overlay process is at the heart of ARC/INFO. In fact, topological overlay is what ARC/INFO was originally designed to do. Topological overlay allows us to as questions like "What areas are on unstable soils, slope 25-40%, harvested within the last 15 years, on low sites, and what is their percentage of area with respect to the entire watershed?"

It is unlikely that you will need to perform many of these operations for producing data for LMS, but there is still some possibility tat you will. And what introduction to ARC/INFO would be complete without at least mentioning these?!

Here are the sample coverages: ring and box

Arcplot: items ring poly
COLUMN   ITEM NAME        WIDTH OUTPUT  TYPE N.DEC  ALTERNATE NAME     INDEXED?
    1  AREA                   4    12     F      3                        -
    5  PERIMETER              4    12     F      3                        -
    9  RING#                  4     5     B      -                        -
   13  RING-ID                4     5     B      -                        -
   17  DISP                   1     1     I      -                        -
Arcplot: items box poly
COLUMN   ITEM NAME        WIDTH OUTPUT  TYPE N.DEC  ALTERNATE NAME     INDEXED?
    1  AREA                   4    12     F      3                        -
    5  PERIMETER              4    12     F      3                        -
    9  BOX#                   4     5     B      -                        -
   13  BOX-ID                 4     5     B      -                        -
   17  DESC                   1     1     C      -                        -
Arcplot: clear; mape ring; arcs ring; labeltext ring disp cc
Arcplot: clear; arcs box; labeltext box desc cc



  

Union
When 2 coverages are UNIONed, all features from both input coverages are combined. All attribute items from the in_cover and union_cover are included in the output.

Usage: UNION <in_cover> <union_cover> <out_cover> {fuzzy_tolerance}
             {JOIN | NOJOIN}
Arc: union box ring boxuring
Arc: arcplot
Arcplot: mape boxuring
Arcplot: arcs boxuring
Arcplot: labeltext boxuring desc # uc
Arcplot: labeltext boxuring disp # lc

Note how the null areas from each of the input coverages are either null (for a character item) or 0 (for a numeric item). Also note how all input features have been retained, and new polygons have been created at intersections of input polygons.


Identity
The IDENTITY command maintains all features of the in_cover, but takes features from the identity_cover that overlap with the in_cover.

Usage: IDENTITY <in_cover> <identity_cover> <out_cover> {POLY | LINE | POINT}
                {fuzzy_tolerance} {JOIN | NOJOIN}
Arc: identity box ring boxiring
Arcplot: arcs boxiring
Arcplot: labeltext boxiring desc # uc
Arcplot: labeltext boxiring disp # lc


Arc: identity ring box ringibox
Arcplot: arcs ringibox
Arcplot: labeltext ringibox desc # uc
Arcplot: labeltext ringibox disp # lc


Intersect
The intersect command is similar to the other overlay commands, but only areas which are common between the 2 inputs are included in the output. The order of in_cover and intersect_cover does not matter.

Usage: INTERSECT <in_cover> <intersect_cover> <out_cover> {POLY | LINE | POINT}
                 {fuzzy_tolerance} {JOIN | NOJOIN}
Arc: intersect box ring ringxbox
Arcplot: arcs ringxbox
Arcplot: labeltext ringxbox desc # uc
Arcplot: labeltext ringxbox disp # lc


Update
UPDATE replaces overlapping parts of the input cover with features from the update_cover. Only overlapping areas maintain attributes

Usage: UPDATE <in_cover> <update_cover> <out_cover> {POLY | NET}
              {fuzzy_tolerance} {KEEPBORDER | DROPBORDER}
Arc: update ring2 box2 ringubox
Arcplot: arcs ringupbox
Arcplot: arcs ringupbox
Arcplot: labeltext ringupbox desc lc
Arcplot: labeltext ringupbox disp uc


Arc: update box2 ring2 boxupring
Arcplot: arcs boxupring
Arcplot: labeltext boxupring disp uc
Arcplot: labeltext boxupring desc lc


Clip
CLIP clips out parts of the in_cover with the convex hull of the clip_cover. Only attributes from the in_cover are retained.

Usage: CLIP <in_cover> <clip_cover> <out_cover>
            {POLY | LINE | POINT | NET | LINK | RAW} {fuzzy_tolerance}
Arc: clip box ring boxcring
Arcplot: arcs boxcring
Arcplot: labeltext boxcring desc lc
Arcplot: labeltext boxcring disp uc
disp does not exist within BOXCRING.pat


Arc: clip ring box ringcbox
Arcplot: arcs ringcbox
Arcplot: labeltext ringcbox disp uc
Arcplot: labeltext ringcbox desc lc
desc does not exist within RINGCBOX.pat


Buffering Features
Buffering creates polygons which are buffered a specified distance from input points, lines, or polygons. There are many options for using buffers, including variable-width buffers based on attribute items. For a full treatment, please see the on-line documentation.

Whenever a buffer is performed, an attribute is added to the out_cover.pat called "inside." the value of inside = 100 for areas within the buffer and 1 for areas outside the buffer. See the final sample below for an example of this.

 

Here are a few examples of some simple, constant-width buffers.

Usage: BUFFER <in_cover> <out_cover> {buffer_item} {buffer_table}
              {buffer_distance} {fuzzy_tolerance} {LINE | POLY | POINT | NODE}
              {ROUND | FLAT} {FULL | LEFT | RIGHT}

Arc: buffer point_test point_buf # # .15 # point
Arcplot: arcl point_buf 2
Arcplot: markerset water
Arcplot: pointmarkers point_test 102

 


Arc: buffer line_test line_l_f # # .2 # line flat left
Arcplot: lineset carto
Arcplot: arcs line_test
Arcplot: arcl line_l_f 3
Arcplot: arcs line_test


Arc: buffer box box_buf # # .2 # poly
Arcplot: arcs box
Arcplot: arcl box_buf 4


Arc: buffer box box_buf_line # # .2 # line
Arcplot: reselect box_buf_line poly inside = 100
BOX_BUF_LINE polys : 1 of 6 selected.
Arcplot: polygonshades box_buf_line 2
Arcplot: arcs box


Examples

Here are a few examples of how overlay commands can answer spatially-related questions.

Question: What is the road density in each age class for Pack Forest (ft/ft^2)?

Coverages:

rds2 = roads coverage (arc)

(ftp://ftp.u.washington.edu/public/packfor/gis/data/rds2.e00)

tty4 = timber type coverage (net = arc & poly attributes)

(ftp://ftp.u.washington.edu/public/packfor/gis/data/tty4.e00)

To import these coverages, place the interchange (.e00) files in a directory and use the IMPORT command, e.g.,

Arc: import cover rds2 rds2

Once you have imported the coverages, make sure to DESCRIBE them so you will know what units to report in.

Steps:

Arc: frequency tty4.pat f_tty4_age_area
Enter Frequency item names (type END or a blank line when done):
================================================================
Enter the 1st item: age_cl_1998
Enter the 2nd item: end
Enter Summary item names (type END or a blank line when done):
==============================================================
Enter the 1st item: area
Enter the 2nd item: end
Arc: intersect rds2 tty4 rds_tty line
Arc: frequency rds_tty.aat f_rds_tty_age_length
Enter Frequency item names (type END or a blank line when done):
============================================================
Enter the 1st item: age_cl_1998
Enter the 2nd item: end
Enter Summary item names (type END or a blank line when done):
==============================================================
Enter the 1st item: length
Enter the 2nd item: end
Arc: additem f_rds_tty_age_length f_rds_tty_age_length density 4 12 f 6
Arc: relate add
Relation Name: road_density
Table Identifier: f_tty4_age_area
Database Name: info
INFO Item: age_cl_1998
Relate Column: age_cl_1998
Relate Type: linear
Relate Access: ro
Relation Name: <CR>
Arc: tables
Enter Command: sel f_rds_tty_age_length
Enter Command: calc density = length / road_density//area
Enter Command: li          
Record  CASE# FREQUENCY AGE_CL_1998             LENGTH      DENSITY
     1      1   368     0-10             107600.778669     0.001381
     2      2   157     10-20             55187.060429     0.001581
     3      3     2     100-110             413.625120     0.001304
     4      4    53     190-200           14149.321093     0.002787
     5      5    20     20-30             12195.034552     0.001324
     6      6    21     30-40              3848.984411     0.001816
     7      7    15     50-60              4128.005425     0.001835
     8      8   238     60-70             74847.994910     0.001316
     9      9    98     70-80             20146.499639     0.002365
    10     10     8     90-100             3940.154343     0.003305

This table can easily be exported as ASCII text and then imported to a spreadsheet, external database, or word processor. We will get practice in exporting text in Week 8.


Exercises:

These exercises are limited to the area of Pack Forest. Visit Pack's GIS Web site to download data sets.

How much area is in each slope class, for each 10-year age class?
Get the coverage slp_4 via anonymous ftp.

How much area is in 60-80 year-old stands within 200 feet of stream types 1-3?
(Hint: you may want to add a buffer item to the stream cover's AAT.)


Back To Week 2 and Tabular Data Structures | On to Week 4 and Raster Analysis