Help with the Topology Tools

This helps to explain the purpose of some of the topology building options, and using them to deal with specific data structures or problems.

Review the Functions

The objective of the topology functions in theEngine is to create polygons from jumbled and fractured polylines, or intersecting polygons. Along the way new polylines and nodes are created. The new polylines are the borders of the polygons stretching from node to node. A node is made where two incoming lines intersect. The 'Renode' function will remove nodes where only two lines come together, and replace the line with a new one.

theEngine will also produce polylines from similar data, as above but is able to 'Renode' along the way. Under certain circumstance's theEngine can automatically add attribute data from the incoming lines to the new lines.

theEngine has many internal operations to handle various incoming data. It will handle duplicates, tiny features, null features, and most mixes of error-prone data. However, as each error type has to be identified and accounted for, processing time accumulates.

It is a good idea to get rid of 'junk' before you run any topo functions. One way is to take a look at the table document for the incoming file, and sort by length. You could see many small bits and pieces, much smaller than the tolerance you need. These will slow down processing, but not impair it. You might also note that there were duplicates, and these will slow things down as well. The procedure would be to select these then 'flip' the table, and run the topo on the selected polylines. It is not mathematically necessary to do this but it is good practice.

Be realistic about tolerances. They have a purpose. Look to see if gaps are larger than your intended tolerance, and in general try to use tolerances smaller than your line length.

Some simple cases

Select the polyline graphics tool and draw a series of polylines in such a way that they intersect each other, and appear to be polygons, or polygon borders as shown. These may be crossed lines, arcs or any pattern you choose. Make them so they are multi part and somewhat complex, as shown.

Press F8 to make them active (with handles) and run the menu item 'Save Previews to File'.

Run the menu item 'Polygon Topo Autowrite'. Choose 'yes' to select 'all' from the first dialog box that pops up, then accept the default 'No' for all options in the 'Tolerance' dialog box.

Note, that since you crossed all polylines when you drew them you have a 'clean' drawing, and there is no need to join or extend any of these lines to close them. These 'dangles' are automatically taken care of in theEngine.

The rest is automatic. Repeat this, but use 'Polygon Topo Preview'. This produces the same results, but provides you with a graphics preview of what you can expect from various chosen parameters.

Make just two of the polygons active, and delete them (Ctrl X).

Run the menu item 'Save Preview to File'. This writes the on screen graphics to a new or current shapefile, or one listed in the dialog box. Note that the ones you deleted were not written and also you did not need to select the previews to have them sent to the shapefile. Run the 'Show Polyline Preview', 'Show Polyline Preview', and 'Show Point Node Preview'. Note that the two polygons that you deleted are still there but the others are not. The preview's you see on-screen can be written to a feature theme. Otherwise, they remain in memory until the function is run again.

Repeat the above, but this time draw interlocking polygons. theEngine creates topology from both lines and polygons, and automatically senses which you are using, and it switches functions accordingly.

Selecting Options

Take a closer look at the options dialog box. The first four items are obvious, and we have just used them. But keep in mind that the two numbers shown are guides only and not suggested values, you must determine your own from the data given.

The next item asks if you want to nest polygons (islands). If you expect to have polygons surrounded by others, like islands or contours, you would choose 'yes'.

Do not use this option unless you are clear about this, since it just wastes time if you don't have any.

Shown here is a situation where you would consider this function. If you are not sure or choose wrong, you can nest later with the 'Make Donuts Preview'.

Next is the option to rebuild 'almost' polygons. These arise from a situation where complete polygons were digitized without breaks, and which share a common border. ArcView may have 'opened' them up and made polylines, or they were made into polylines by some other way. This option simply rejoins the ends within your set tolerance, and rebuilds. It is also faster than a complete 'clean and build', so if you have this situation use this option instead of others to avoid having to completely reprocess all over again.

This shows you a typical 'almost' polygon with the end gaps and common border space exaggerated.

Finally there is the contour type, having the ability to add attribute data to the polygons from the polylines. Normally used for fractured lines forming contour outlines where no pieces intersect each other. This function can be used for any structure that has this characteristic. This is shown below.

The rings can be made up of many fractured line segments, and can have gaps, but as long as they do not cross over to other rings, then you will be able to automatically attach attributes from each ring to polygons made from them.

Some less simple cases

This time, take a look at a 'dirty' drawing. Draw a series of polylines with gaps as shown, and send it to a shapefile, as before.

Take the measure tool and measure the gaps. Run the 'Polygon Topo Preview' function again, but this time enter the tolerance distances you measured (plus a bit) and say 'y' to extend and join options. The rest is automatic.

Take a look at the polygons created. To see how they fit the polylines, simply click each one and press the 'Del' key to remove them from the view, you see the hole left. Keep track of any that do not fit, and run the 'Show/Hide Polygon Preview' function to first 'hide' all of them and recall (show) them again. Delete the ones you do not want, and save.

This is the basic principle for handling 'dirty' line work. If you are unsure of tolerance values or where tolerance values vary widely, you can work with different settings, and simply keep the ones you want. Where the lines are too difficult to work automatically with the tolerance options, then you may use the 'Force Close Preview', 'Extend Ends Preview', or the 'Join Ends Preview' functions.

To commit these, you use the 'Save Previews to File' function.

Recognize a situation by its outcome.

You can recognize a duplicate line situation by the results of the topo process. Here you see three polygons where only two should have been created. The unwanted third (larger) one is mathematically correct because the line dividing it is duplicated, with one hidden under the other. Simply delete the larger polygon from the preview when saving.

If you have clipped some lines without the 'Split' option on, a single feature record is made that consists of two or more lines. This causes confusion that may show up as spikes or funny polygons. You may fix this with the 'fix things' functions or re-clip with the 'split' option on. 'Split' would produce two features.

The 'Renode' command merges lines that continue through a node to a single line with no nodes. If it fails, you may have hidden double lines, or small lines under larger ones. 'Renode' is an option that works both on graphics and shapefiles, so if you need to 'Renode' after you have 'saved', just make both the polyline and points file active, and rerun the function. Below shows what 'Renode' does.