Spatial Overlay

Spatial overlays are a set of methods for transferring data between objects in drawings based on their spatial relationships to each other.

 

For example, suppose we have a drawing that shows states as areas and we also have a set of points showing the locations of cities. Suppose that each city record has a field called Population that gives the population in that city, but that we have no values for the population of each state. We could use spatial overlays to automatically add up the values of the populations for all cities in each state and place that combined value into the Population field for each state.

 

Spatial overlays transfer data from fields in a Source object set to a Target object set using some method. The specific rules used to transfer data are taken from the Transfer Rules specified for each column.

 

Spatial Overlay Dialog Controls

 

Source

Choose an object set to be the source of data. Choices will include the selection, all saved selections, and objects in drawing layers when launched from a map. The source set may contain only objects of one type (that is, all areas, all lines or all points).

Target

Choose an object set to receive the transferred data. Choices will include the selection, all saved selections, and objects in drawing layers when launched from a map. The target set may contain only objects of one type (that is, all areas, all lines or all points).

Method

Choose a transfer method. Only those operations that make sense for the objects in the source and target sets will be presented. If the source or target set do not contain all objects of one type the method box will not be enabled.

 

Spatial Overlay Methods

 

The following methods will appear in the Methods box as appropriate to the types of objects that have been selected in the Source and Target sets.

 

Areas to contained areas

Transfer fields from area A to areas that are completely inside A.

Areas to contained lines

Transfer fields from area A to lines that are completely inside A.

Areas to contained points

Transfer fields from area A to points inside A

Areas to containing areas

Transfer fields from area A to areas that completely contain A.

Areas to intersecting areas

Transfer fields from area A to areas that have at least some location within A's interior (that is not on a boundary).

Areas to intersecting lines

Transfer fields from area A to lines that have at least some location within A's interior (that is not on a boundary). Excludes fully contained lines.

Areas to neighbor areas

Transfer fields from area A to areas that touch A only at A's boundary (that is, have no common locations that are interior for A).

Areas to neighbor lines

Transfer fields from area A to lines that touch A only at A's boundary.

Areas to boundary points

Transfer fields from area A to points that lie on its boundary.

Areas to touching areas

Transfer fields from area A to areas that share at least one location in common with A.

Areas to touching lines

Transfer fields from area A to lines that share at least one location with A.

Lines to contained lines

Transfer fields from line L to lines that are completely contained by L (that is, are coincident with some part of L).

Lines to contained points

Transfer fields from line L to points that lie on L.

Lines to containing areas

Transfer fields from line L to areas that completely contain L.

Lines to containing lines

Transfer fields from line L to lines that completely contain L (that is are coincident at least over the extent of L).

Lines to intersecting areas

Transfer fields from line L to areas that share at least one interior location with L.

Lines to intersecting lines

Transfer fields from line L to lines that share at least one interior location (that is, a location that is not a terminal coordinate of any branch) with L.

Lines to neighbor areas

Transfer fields from line L to areas that are touched by L at their boundary.

Lines to neighbor lines

Transfer fields from line L to lines that touch (and are touched by) L at the terminal coordinates of any L branch.

Lines to terminal points

Transfer fields from line L to points that lie on its boundary (that is, terminal points of branches).

Lines to touching areas

Transfer fields form line L to areas that share at least one location with the line.

Lines to touching lines

Transfer fields from line L to lines that share at least one location with L.

Points to containing areas

Transfer fields from point P to areas that contain P.

Points to containing lines

Transfer fields from point P to lines that contain P.

Points to neighbor areas

Transfer fields from point P to areas that contain P on their boundary.

Points to neighbor lines

Transfer fields from point P to lines that contain P on their boundary.

Points to coinciding points

Transfer fields from point P to points that coincide with P.

 

Example

 

Let's consider a simple example to see how spatial overlays work.

 

images\sc_spatial_overlays_01.gif

We've created a drawing with two areas and nine points. Select the points and save them as a saved selection called Points in the Selections pane . Select the two areas and save them as a selection called Areas in the selections pane.

 

images\tbl_spatial_overlays_01.gif

The table for this drawing shows that there is one integer field, Population. Each of the points has a value of 1 for the population field and is shown with red selection background color in the table. The two areas have values of 0 for the population.

 

Open the drawing's table, right click onto the Population column and choose Transfer Rules.

 

images\dlg_spatial_overlays_01a.gif

 

In the Transfer Rules dialog choose Copy as the transfer rule for 1 to N transfers and choose Sum as the transfer rule for N to 1 transfers.

 

Click onto the drawing window and choose Drawing - Spatial Overlay.

 

images\dlg_spatial_overlays_01.gif

 

In the Spatial Overlay dialog choose Points as the Source and Areas as the Target. The Method will be Points to containing areas. Press OK.

 

images\tbl_spatial_overlays_02.gif

 

The result of the spatial overlay operation is that one area (the triangle) acquires a value of 2 and the other area (the circle) acquires a value of 4. These new values are the sums of the point values within the areas.

 

Geographic Example

 

Let's apply the above procedure in a geographic setting. We will sum up the populations of towns to get a total population for each county containing the towns.

 

images\sc_overlays_01.gif

 

We have a drawing called Example that shows counties in the San Francisco Bay area as areas together with points taken from a Census Bureau file of named places with populations.

 

images\sc_overlays_02.gif

 

Opening the Example Table we see that there are ten areas each with a 0 value in the pop1990 field. Numerous towns have populations for each town.

 

We begin by right clicking on the pop1990 column header in the table and choosing Transfer Rules.

 

images\sc_overlays_03.gif

 

We set the transfer rules for this field to ber Sum for N to 1. Since many points will be combined into each county this is a "many to 1" or N to 1 transaction. We would like the population values to be summed to get the value for each county.

 

images\sc_overlays_04.gif

 

We don't want any values transferred for the county or Name fields. We right click onto the county column header, choose Transfer Rules and choose None for the N to 1 transfer rule. We then right click onto the Name column header, choose Transfer Rules and once more choose None for the N to 1 transfer rule.

 

images\sc_overlays_05.gif

 

If we were using spatial overlays between different drawing layers in a map we could skip this step; however, since we are transferring values between fields in the same drawing we will use saved selections. Select all points in the drawing and save this selection as a saved selection in the Selections pane called Places. Select all points in the drawing and save this selection as a saved selection called Counties.

 

With the focus on the Examples drawing window, choose Drawing - Spatial Overlay.

 

images\sc_overlays_06.gif

 

In the Spatial Overlay dialog choose Places for Source and Counties for Target. For the Method choose Points to containing areas and press OK.

 

images\sc_overlays_07.gif

 

In the table we can see that the pop1990 values are filled with the sum of the point values for each county. This is in accordance with the N to 1 transfer rule we specified for this field. Note that there is no change in the county or Name fields for the county areas since we specified None as the transfer rules for these fields.

 

Spatial Overlays in Maps

 

Spatial overlays may be used in maps when a map contains at least one non-empty drawing. To use spatial overlays between different drawings in a map, the following must be true:

 

·      The same field name and type must be present in both drawings involved.

·      Exactly the same set of transfer rules must be used in both drawings for each field involved.

 

If the above two conditions are not met for a particular field it will not be transferred at all.

 

Note that the "same type" requirement is meant literally: for example, fixed length ASCII text columns of different length are different types. Therefore, attempting to transfer data between a 20-character fixed length ANSI text column and a 40-character fixed length ANSI text column will not work due to the different lengths of the data allowed.

 

Note: A linked drawing or a shared drawing in Enterprise Edition that is not checked out itself but has a checked out table can nonetheless be the target of a spatial overlay.

 

Troubleshooting

 

Difficulties with spatial overlays arise almost exclusively from failing to set Transfer Rules correctly for the desired action. For example, if the Transfer column checkbox in the Transfer Rules dialog has been unchecked a column will not transfer. If no columns are available for transfer the spatial overlay operation will report "No columns to transfer."

 

See Also

 

Transfer Rules - Transfer rules specify how fields are aggregated or allotted when new objects are created using transform toolbar operators. Spatial overlays are a different concept than the idea of using transfer rules to aggregate or to allot values when creating objects with transforms. However, it is a related concept in that aggregations or allotments are used to transfer field values between objects.

 

Transfer Contour Line Height to Points - A simple example using Spatial Overlay.

 

Color Areas by Counts - A simple example using Spatial Overlay to color areas by the number of points they contain.

 

Shortest Path over Land - A complex example that uses Spatial Overlay.

 

Intersection Overlays - A small, but sophisticated, example that uses Transfer Rules, Split with, Clip with (Intersect) and Spatial Overlay commands with areas.