Vector overlay
Vector overlay is an operation in a geographic information system for integrating two or more vector spatial data sets. Terms such as polygon overlay, map overlay, and topological overlay are often used synonymously, although they are not identical in the range of operations they include. Overlay has been one of the core elements of spatial analysis in GIS since its early development. Some overlay operations, especially Intersect and Union, are implemented in all GIS software and are used in a wide variety of analytical applications, while others are less common.
Overlay is based on the fundamental principle of geography known as areal integration, in which different topics can be directly compared based on a common location. It is also based on the mathematics of set theory and point-set topology.
The basic approach of a vector overlay operation is to take in two or more layers composed of vector shapes, and output a layer consisting of new shapes created from the topological relationships discovered between the input shapes. A range of specific operators allows for different types of input, and different choices in what to include in the output.
History
Prior to the advent of GIS, the overlay principle had developed as a method of literally superimposing different thematic maps drawn on transparent film to see the interactions and find locations with specific combinations of characteristics. The technique was largely developed by landscape architects. Warren Manning appears to have used this approach to compare aspects of Billerica, Massachusetts, although his published accounts only reproduce the maps without explaining the technique. Jacqueline Tyrwhitt published instructions for the technique in an English textbook in 1950, including:Ian McHarg was perhaps most responsible for widely publicizing this approach to planning in Design with Nature, in which he gave several examples of projects on which he had consulted, such as transportation planning and land conservation.
The first true GIS, the Canada Geographic Information System, developed during the 1960s and completed in 1971, was based on a rudimentary vector data model, and one of the earliest functions was polygon overlay. Another early vector GIS, the Polygon Information Overlay System, developed by ESRI for San Diego County, California in 1971, also supported polygon overlay. It used the Point in polygon algorithm to find intersections quickly. Unfortunately, the results of overlay in these early systems was often prone to error.
Carl Steinitz, a landscape architect, helped found the Harvard Laboratory for Computer Graphics and Spatial Analysis, in part to develop GIS as a digital tool to implement McHarg's methods. In 1975, Thomas Peucker and Nicholas Chrisman of the Harvard Lab introduced the POLYVRT data model, one of the first to explicitly represent topological relationships and attributes in vector data. They envisioned a system that could handle multiple "polygon networks" that overlapped by computing Least Common Geographic Units, the area where a pair of polygons overlapped, with attributes inherited from the original polygons. Chrisman and James Dougenik implemented this strategy in the WHIRLPOOL program, released in 1979 as part of the Odyssey project to develop a general-purpose GIS. This system implemented several improvements over the earlier approaches in CGIS and PIOS, and its algorithm became part of the core of GIS software for decades to come.
Algorithm
The goal of all overlay operations is to take in vector layers, and create a layer that integrates both the geometry and the attributes of the inputs. Usually, both inputs are polygon layers, but lines and points are allowed in many operations, with simpler processing.Since the original implementation, the basic strategy of the polygon overlay algorithm has remained the same, although the vector data structures that are used have evolved.
- Given the two input polygon layers, extract the boundary lines.
- Cracking part A: In each layer, identify edges shared between polygons. Break each line at the junction of shared edges and remove duplicates to create a set of topologically planar connected lines. In early topological data structures such as POLYVRT and the ARC/INFO coverage, the data was natively stored this way, so this step was unnecessary.
- Cracking part B: Find any intersections between lines from the two inputs. At each intersection, split both lines. Then merge the two line layers into a single set of topologically planar connected lines.
- Assembling part A: Find each minimal closed ring of lines, and use it to create a polygon. Each of these will be a least common geographic unit, with at most one "parent" polygon from each of the two inputs.
- Assembling part B: Create an attribute table that includes the columns from both inputs. For each LCGU, determine its parent polygon from each input layer, and copy its attributes into the LCGU's row the new table; if was not in any of the polygons for one of the input layers, leave the values as null.
Operators
The basic algorithm can be modified in a number of ways to return different forms of integration between the two input layers. These different overlay operators are used to answer a variety of questions, although some are far more commonly implemented and used than others. The most common are closely analogous to operators in set theory and boolean logic, and have adopted their terms. As in these algebraic systems, the overlay operators may be commutative and/or associative.- Intersect : The result includes only the LCGUs where the two input layers intersect ; that is, those with both "parents." This is identical to the set theoretic intersection of the input layers. Intersect is probably the most commonly used operator in this list. Commutative, associative
- Union : The result includes all of the LCGUs, both those where the inputs intersect and where they do not. This is identical to the set theoretic union of the input layers. Commutative, associative
- Subtract : The result includes only the portions of polygons in one layer that do not overlap with the other layer; that is, the LCGUs that have no parent from the other layer. Non-commutative, non-associative
- Exclusive or : The result includes the portions of polygons in both layers that do not overlap; that is, all LCGUs that have one parent. This could also be achieved by computing the intersection and the union, then subtracting the intersection from the union, or by subtracting each layer from the other, then computing the union of the two subtractions. Commutative, associative
- Clip : The result includes the portions of polygons of one layer where they intersect the other layer. The outline is the same as the intersection, but the interior only includes the polygons of one layer rather than computing the LCGUs. Non-commutative, non-associative
- Cover : The result includes one layer intact, with the portions of the polygons of the other layer only where the two layers do not intersect. It is called "cover" because the result looks like one layer is covering the other; it is called "update" in ArcGIS because the most common use is when the two layers represent the same theme, but one represents recent changes that need to replace the older ones in the same location. It can be replicated by subtracting one layer from the other, then computing the union of that result with the original first layer. Non-commutative, non-associative
- Divide : The result includes all of the LCGUs that cover one of the input layers, excluding those that are only in the other layer. It is called "divide" because it has the appearance of one layer being used to divide the polygons of the other layer. It can be replicated by computing the intersection, then subtracting one layer from the other, then computing the union of these two results. ''Non-commutative, non-associative''
Boolean overlay algebra
In a task such as this, the overlay procedure can be simplified because the individual polygons within each layer are not important, and can be dissolved into a single boolean region representing the region that meets the criterion. With these inputs, each of the operators of Boolean logic corresponds exactly to one of the polygon overlay operators: intersect = AND, union = OR, subtract = AND NOT, exclusive or = XOR. Thus, the above habitat region would be generated by computing the intersection of A and B, and subtracting C from the result.
Thus, this particular use of polygon overlay can be treated as an algebra that is homomorphic to Boolean logic. This enables the use of GIS to solve many spatial tasks that can be reduced to simple logic.