The Transform dialog topology overlay templates appear when the Transform dialog is launched for an active drawing layer in a map. That drawing is called the target drawing. Topology overlays modify the target drawing by using objects in a second drawing layer, called the overlay drawing, to modify the target drawing. All overlay templates use only areas from the overlay drawing but apply the overlay to objects of all types, points, lines and areas, in the target drawing.
Topology overlay templates always create a new component using the Add Component button. The new component is a modified version of the target drawing, as modified by geometric operations using objects in the overlay drawing.
A simplified way to think of how overlays modify the target is to think of objects in the overlay as "cookie cutters" that modify objects in the target they overlap by cutting out their shapes in the target. But that is only part of the story.
The reality is a much richer situation given that objects in the overlay drawing can combine in the usual Boolean set ways, to add, to intersect and so on, with objects in the target drawing. It is like an overlay "cookie cutter" that can both add and cut at the same time.
See the Transform Templates - Drawings topic as well as the Transform: Overlay topic.
Overlay Topology templates are different from Overlay templates:
Overlay templates transfer fields into the target drawing based on the overlay. Overlay templates do not change objects.
Overlay Topology templates alter objects in the target drawing based on the overlay.
Also:
Overlay templates allow any mix of points, lines and areas in both the target drawing and the overlay drawing.
Overlay Topology templates allow only areas in the overlay drawing but allow any mix of points, lines and areas in the target drawing.
All overlays require two drawings: a target drawing that may contain areas, lines and points and an overlay drawing that must contain only areas. The areas in the overlay drawing guide the operation of the chosen overlay function in modifying the target drawing to create a new, result drawing.
The result drawing will inherit all columns from both the overlay drawing and the target drawing. There is no mapping between the columns in the overlay drawing and the target drawing. Each resulting object inherits all attribute values from the overlay drawing and from objects in the target drawing from which it has been produced.
There are four ways to use an overlay drawing to modify the target drawing to create the modified target result, called Identity, Intersect, Union and Update. In the illustrations that follow the yellow drawing is the target drawing and the blue drawing is the overlay drawing. In both cases the areas are shown as if they are made of thick paper or cardboard, to emphasize the cutting nature of the operations to help grasp the concepts involved.
The yellow target drawing has two areas. The blue overlay drawing has three areas.
If we show the blue drawing with transparency we can see the relationship between the blue overlay drawing objects and the yellow target drawing objects.
The Topology Overlay, Identity template uses the boundaries of areas in the overlay drawing to split all areas, lines and points in the target drawing and places each resulting part of the original object from the target drawing into the result drawing.
To understand this template, imagine that area boundaries in the overlay are like a cookie cutter that cuts into pieces all overlapping objects in the target drawing. The result is the target drawing is sliced into more objects. Is "identity" a truly unhelpful name for this template? Yes, it is, but the name continues to stick because legacy GIS packages have been calling it that since the Neolithic. It is often easier to think of the identity operation as a cookie cutter operation.
Identity creates a result set of all the areas in the yellow target drawing, but cut up by their intersections with the areas in the blue overlay drawing. Instead of two areas in the yellow target drawing, the result is eight areas in the yellow target drawing. Each original yellow target area has been split by its intersection with the three blue overlay areas to create three smaller areas, plus a fourth area representing that part of the original yellow target area not intersecting any blue overlay areas.
Intersects all objects in the target drawing with areas in the overlay drawing and places each resulting part of the original object from the target drawing that falls within an area in the overlay drawing into the result drawing.
Imagine this like pressing the target drawing against a steel wall where the only openings are cookie-cutter area boundaries in the overlay drawing. We get all parts of the target drawing that are overlapped, and cut, by any area in the overlay drawing.
Intersect is like Identity but discarding all of the cut pieces in the target that do not fall within an overlay area.
Slice all objects in the target using areas in the overlay. Next, slice all areas in the overlay using areas in the target. Put all pieces together in the result, discarding duplicates.
More technically, the Union template intersects all objects in the target drawing with areas in the overlay drawing and places each resulting part of the target drawing into the result drawing. Next, the template intersects all areas in the overlay drawing with areas in the target drawing and places each such overlay part into the result drawing, discarding duplicates.
Union is like a double cookie cut, first using the overlay drawing to cookie-cut the target drawing, then using the target drawing to cookie-cut the overlay drawing and then finally putting all the resulting pieces from both drawings together into the result. That is equivalent to first doing an Identity onto yellow using blue as an overlay, and then doing an Identity onto blue using yellow as an overlay. Duplicates for the six small pieces that are the Intersect are removed so that only one area in each such duplicated spot is put in the result.
Above we use the blue overlay to cookie-cut the yellow target drawing. Note that the two "outer" yellow target areas are not within the blue overlay areas.
Next we can imagine that the areas in the yellow target drawing are used to cookie-cut the areas in the blue overlay drawing.
We will discard duplicate areas that are found both in the sliced yellow areas as well as the sliced blue areas. For the sake of illustration we will remove the duplicates from the sliced yellow areas as seen above.
Put all the pieces together into one result and we have a Union topology overlay result. The illustration at left shows where the pieces came from and the illustration at right shows the result.
Intersect all areas, lines and points in the target drawing with areas in the overlay drawing. Remove the Intersect objects from the target and place the remaining target object pieces together with all of the overlay areas into the result.
This is like pushing the overlay drawing down into the target drawing, flattening into nothing any parts of the target beneath any overlay area.
The illustration at left shows where the pieces came from and the illustration at right shows the result.
To launch a topology overlay we first click a drawing layer in a map to make it the active layer. We then choose Edit - Transform to launch the Transform dialog. The active layer automatically becomes the target drawing for whatever topology overlay template we choose. In the template Overlay combo box we can then choose another drawing layer in the map to use as the overlay drawing, provided that drawing contains only areas.
It may seem that when doing a topology overlay using any two drawings which drawing of the two we choose as the target and which we choose as the overlay does not matter, but that is true only for the Intersect and the Union topology overlay templates in the limited case where both drawings contain only areas. Even in that limited case the results for the Identity and the Update templates will be different depending on which drawing is the target and which is the overlay.
Note also that in general we can swap drawing roles from target to overlay and vice versa only in the case where both drawings consist only of areas. That is because the overlay drawing must always contain only areas. If a given target drawing contains a mix of areas, lines and points, that is perfectly acceptable for a target drawing but a drawing that contains lines or points in addition to areas cannot be used as an overlay drawing.
Keeping the above in mind, to better understand how topology overlays look we will consider how switching the roles of target and overlay changes the result, in the limited case where both drawings contain only areas.
Consider two drawings, a yellow drawing with two areas and a blue drawing with three areas.
In the illustrations that follow we show the drawing which is the overlay drawing positioned above the target drawing.
In the illustration above the upper, blue drawing is the overlay drawing and the lower, yellow drawing is the target drawing.
In the illustration above the upper, yellow drawing is the overlay drawing and the lower, blue drawing is the target drawing.
Important: It does not matter to topology transform templates which layer is higher or lower in a map. In this topic the illustrations show the overlay drawing above the target drawing to exploit as a learning tool the usual English understanding of the word overlay as above something else, to help remember which is the overlay drawing and which is the target drawing.
The results of the Identity template are different depending upon which of the two drawings we choose as the target and which as the overlay.
Identity: Yellow is the target, blue is the overlay. The contents of the yellow target drawing, as sliced by the boundaries of blue areas, are placed into the results drawing.
Identity: Blue is the target, yellow is the overlay. The contents of the blue target drawing, as sliced by the boundaries of yellow areas, are placed into the results drawing.
The results of the Intersect template are the same regardless of which of the two drawings we choose as the target and which as the overlay.
Intersect: Yellow is the target, blue is the overlay. Place in the result those areas formed by the intersection of objects in yellow and blue.
Intersect: Blue is the target, yellow is the overlay. The same result is obtained since the intersection of blue and yellow is the same.
The results of the Union template are the same regardless of which of the two drawings we choose as the target and which as the overlay.
Union: Yellow is the target, blue is the overlay. Slice each drawing with the area boundaries of the other drawing and place all pieces from both drawings into the result, discarding duplicates.
Union: Blue is the target, yellow is the overlay. The result is the same since in both cases we slice each drawing with the area boundaries of the other drawing.
The results of the Update template are different depending upon which of the two drawings we choose as the target and which as the overlay.
Update: Yellow is the target, blue is the overlay. Discard the areas of intersection from the target yellow drawing and keep all areas intact from the overlay drawing.
Update: Blue is the target, yellow is the overlay. The result is different because instead of discarding the areas of intersection from the yellow drawing we discard the areas of intersection from the blue target drawing and we keep all areas intact from the yellow drawing.
Update preserves all areas in the overlay drawing, removing anything from the target that gets in the way of the overlay. We can think of Update as being an "updating" of the target by using the overlay as an overriding, dominant control.
For example, suppose we have a drawing of parcels that show property ownership. A central group of triangular parcels is surrounded by a ring road.
Suppose there is a lake in the middle of the central group of triangular parcels, as shown below by a drawing of lakes in partially transparent form overlaying the drawing of parcels.
We would like to create a new parcels drawing that uses the overlay drawing of the lakes to blend the lakes areas into the target parcels drawing so that parcel lines are cut off at the edges of the lake without extending into the water body. In legal reality, of course, the boundaries of parcels will often extend into water bodies, but to create a more understandable visual display we do not want to clutter up the lakes or ponds that we show with lines of parcels extending into them.
To create the above we use the Topology Overlay, Update template with the parcels as the target and the lakes as the overlay. The lakes area is "pressed into" the parcels drawing, with the lakes area taking priority over anything it overlaps.
There are many reasons why we might want to override a target layer with an overlay layer using Update. Applying water features, which are often invariant, to layers of other features such as boundaries is a classic example. Once we "knock out" anything in the way of the water features we can then proceed, as in the illustration above, to format the areas showing water to more clearly indicate which parcels are waterfront and just how much dry land they may have. Or, we may want to make calculations of dry land area for the purposes of paying property tax, not counting (as many jurisdictions do not) that part of the property which is underwater for the purposes of paying tax.
Confusing Nomenclature - Topology overlay templates use old and somewhat mathematically misleading nomenclature because that is the established nomenclature which the majority of GIS users expect. Most GIS people know perfectly well that the various geometric operations implemented in topology overlay templates are not really topological operations as mathematicians use the word. But given that the legacy GIS industry has used that nomenclature since Neolithic times it would be even more confusing to use different names even if they were more appropriate.
Overlay is also a slightly misleading choice of word because the layer ordering, which drawing is above or below another in the layer stack, does not matter at all. Since the overlay drawing works like a tool, template, guide, stencil or pattern applied to the target drawing a more neutral name for it such as the stencil drawing or pattern drawing might have be clearer. Be that as it may the nomenclature is what it is so we all should become accustomed to it.
One last contribution to confusion is Manifold's own: what is called a target drawing by this documentation is often also referred to as the data drawing both in classic GIS discussions and also by Manifold's own programmers in technical presentations or comments on user forums. On the one hand that is useful to match classic usage by other GIS systems but it can be really confusing to new users in terms of remembering which drawing is modified by the overlay. Using the words target drawing may clear that up. Or not.
Question: What is a topologist? Answer: Someone who cannot distinguish between a doughnut and a coffee cup.
Fewer Limitations - The above overlays are similar to those in various legacy GIS systems, except that they are not subject to some of the limitations that some older GIS systems have. In particular, Manifold allows the target drawing to contain areas, lines and points and not just areas as is the case with some systems. Manifold overlays these objects simultaneously without forcing us to perform the overlay operation once for each object type as would be required by some other systems. Manifold also automatically resolves overlaps between areas and other topological anomalies both in the target drawing and the overlay drawing, without forcing us to go through a separate topology cleaning step.
Transform Templates - Drawings
Example: Two Drawings from the Same Table - Take a table with a geom field that is visualized by a drawing. Add a second geom field to the table and create an rtree index on that field so it can be visualized by a drawing. Copy the first drawing, paste it and adjust the pasted copy so it uses the second geom field. Demonstrate how to use the Transform dialog to show "live" modifications in the second drawing compared to the first drawing.
Example: Copy one Column into Another Column with Transform - How to use the Transform dialog to copy the contents of one column in a table into another column, but only for selected records. Uses the Products table from the Nwind example data set.
Example: Transform Field Values using an Expression in the Transform Dialog - How the Expressions tab of the Transform Dialog may be used to change the values of fields. We include an example of changing the price of selected products and using two different Transform dialogs open at the same time for two different table windows.
Example: Overlay Contained - A frequent use of overlays is to sum the values of many points that fall within an area and to transfer that sum to a new field for an area. In this example we take a drawing that has cities in the US with a population value for each city. We use Overlay Contained to sum the population of each city within a state and to transfer that sum to a total population for the state.
Example: Overlay Containing - One of the most common uses of overlays is to transfer fields from areas to points that are contained in those areas. Tasks such as transferring a census block group number or zip code number from a drawing of areas to points that fall within each area are extremely common. In this example we transfer the name of a French region to the points that represent cities which fall within each region.
Example: Construct JSON String using Select and Transform - Use the Select and Transform dialogs to manually construct a JSON string using values from other fields in a table. Shows how we can manipulate text to build desired contents in a field.
Example: Edit a Drawing with Transform Dialog Templates - In this example we open a drawing and edit objects in the drawing using the Transform dialog Template tab. Includes examples of using the Add Component button and also the Edit Query button.
Example: Use a Transform Dialog Expression to Create Buffers in a Drawing - Use the Expression tab of the Transform Dialog to create three different sizes of buffers for different lines in a drawing and then automatically create a query which does the same thing. Includes examples of using the Add Component button and also the Edit Query button.
Example: Clip Areas with a Transform Dialog Expression - Use the Expression tab of the Transform dialog to clip areas in a drawing to fit within horizontal bounds. Includes examples of using the Add Component button and also the Edit Query button.
Example: Smooth Lines with a Transform Dialog Expression - Use the Expression tab of the Transform dialog to make lines smoother in a drawing so that longer lines are smoothed more. Includes examples of using the Edit Query button to show how different queries are created automatically depending on if we want to update a field or to add a new component.
Example: Transfer Options and Merge Areas - Using the Merge Areas Transform dialog template, an exploration of the difference between using Copy and Sum for transfer options.