lab 4: advanced editing and topology - gis courses · advanced editing 1 lab 4: advanced editing...
Lab 4: Advanced Editing and Topology
What You’ll Learn: Image interpretation, more editing, and topology. You should read the section on topology in Chapter 2, and Chapter 4 on image interpretation of the GIS Fundamentals textbook before starting this Lab. Data: The several data layers are in the Lab 4 subdirectory, all in the UTM, NAD83(2011) zone 15 coordinate system, for a portion of Big Marine Lake, in Washington County, Minnesota: BigMarSum.img, a summer infrared image, with a 1 meter cell size, RectSpring.img, a spring infrared image with 1 meter cell size, NWILakes, MNDOTLakes, DNRLakes, various renditions of lake boundaries, SouthBayArea, a shapefile for a work area in the second part of this lab. Background: Multi-temporal images are commonly used for updating information, or documenting change. Data often aren’t current or consistent, and as images get better, we use them to improve our data. Digitizing Tools and Techniques Load the BigMarSum & RectSpring images in a data frame, and also the NWI, MNDOT, and DNR lakes data. Examine each layers; note how the various lakes data differ from each other, and from the lake boundary in the images. While the DNR data matches best, it still has some “errors” for our intended use, so we need to digitize a new lake boundary before adding vegetation data. You will be digitizing the current boundary only for Big Marine Lake, the biggest lake in the view, based on the RectSpring image. Use the map at the end of this section for guidance, and the examples below that illustrate the land/water boundary for the lake. First, In Arc Catalog, set the path to your Lab 4 data folder, then create a new empty “polygon”, lake layer (shape file or in a geodatabase) named Lake_2000, (Projected Coordinate SystemsUTMNorth AmericaNAD 1983 (2011) UTM Zone 15N), add it to your data frame, and set display, snapping, and sampling options as appropriate (refer to Lab 3 if you’re fuzzy on how to do this). Use a scale of about 1:3,000 or larger (e.g., 1:800) when digitizing in this exercise to record sufficient detail.
When creating large complex polygons, it may be useful to digitize the lake a section at a time, to contain errors and allow frequent saves. One approach (in video last week on polygon digitizing) is to
• first digitize a new polygon ( in the Create Features window), and digitize a portion of the lake, and then
• add to the polygon with the auto complete tool ( in the Create Features window)
• Remember with Auto Complete Polygon your actually create a new polygon adjacent to your original polygon. You will have to merge these separate parts of the lake with the EditMerge (may sure at least two adjacent pieces of the lake are selected).
When auto-completing polygons, you need to be careful to start and end at the shores where the new polygon connects to the old polygon. See the videos on autocomplete polygons in last week’s lab if for help. You can also use a streaming version of auto-completion they call Auto
Complete Freehand ( ) as noted in the videos for Lab 3 which turns on a streaming mode. This means you don’t have to laboriously click each vertex, it inserts them automatically. However, you need a steady hand, and can more easily create overlaps, loops, and odd digitizing artifacts, so use with care. Another choice is to add a small polygon and use the Modify Feature Edit tool to “add” new sections on to your initial polygon (See Video: Merge_AutoComplete_Reshape_Save_Edits) Save your Edits FREQUENTLY. Make sure to digitize the bays, but don’t digitize the boat docks as part of the shore. See the example map at the end of this section for guidance. You must digitize islands both in the lake and near shore, as shown in the example map. Perhaps the easiest way to digitize and island is:
• First digitize the lake, covering the islands.
• Turn the lake fill semi-transparent (properties, then display, set transparency something like 40 – 50%)
• Then digitize a polygon that outlines an island on top of the lake polygon.
• Select the island polygon
• From the main Editor menu, select the Clip option (see figure)
• A window will pop up, make sure the buffer distance is 0 and the discard overlap option is selected
See the Lab 4 video, ClipDigitizing This will clip out the island, but you still have an island polygon. We don’t want to include this in our lake layer.
Select the island polygon, right click over it, and then select delete from the window that appears. Also note that there is substantial marshland that is considered part of the lake, and not land, along some sections. You will have to do your best job of identifying the land/water boundary, which is difficult because of similar appearing upland and lake vegetation near shore. Here, we’ll call most wetlands part of the lake, that is, we’ll lump wetland vegetation with the lake. Some wetland grasses grow both in shallow water and upland wet soils, and cattails are rooted but grow out of the water. The RectSpring image is generally much better for identifying the land/water boundary, as much of the aquatic vegetation is dead; there are still dense cattail beds that are part of the lake, but may at first appear like land. Use the examples below to guide you. The two example images illustrate the task. These are of the north shore of the eastern lobe of Big Marine Lake. An approximation of the land/water boundary is shown in yellow. The spring image is shown first. Note the water is dark blue, and cattails/wetland grasses show as dark grey. Roads are also grey, but uniform in color and straight-sided, so shape and texture sets them apart. Upland grasses are white, through pinks to red, so the boundary (in yellow) between upland and lowland is somewhat obvious for most of this stretch. There is a near-shore area of upland, labeled A on the images. This is a bit more complicated and subjective to delineate, because the both the marsh cattails and wetland grasses and the upland grass are shades of grey, so it isn’t obvious where the land/water boundary should be. In addition, there are small patches of cattail embedded in the upland, which we include as part of the upland polygon because we can’t spend all day digitizing. The summer image (2nd image shown below) helps, because the various shades of light red and pink are upland grass/forbs, while the emergent wetland cattails are blue/black to very dark red. Floating vegetation is also white/pink/light red, but their texture and location (areas that are water in spring, vegetation in summer) gives them away.
Spring Image: Summer Image:
Note that you should be especially careful in digitizing the shoreline in the connected “bay” at the south end of Big Marine Lake (inside the yellow rectangle, figure to the right). This appears to be a separate lake, but you’ll see when you zoom in that it is connected to the main body of the lake by a narrow channel. This happens a couple of other places around the lake, and you might notice if you carefully check the example map we provide that we don’t always digitize these “connected” lakes as part of the Big Marine Lake; however, be especially careful in identifying and digitizing the land/water margin in this yellow box. We will use it later in this lab to make topologically consistent layers.
When you are done digitizing the entire lake boundary, create a map that includes the lake polygon you digitized and one of the images as a background (data frame as in the example below). Add a descriptive title, your name, a north arrow and scale bar. Create a pdf document for your map, and turn it in. Lake Boundary to Digitize:
Digitizing into a Geodatabase with Topology We often need to create vector data with topological constrains, e.g., making sure that upland polygons don’t overlap with adjacent lake polygons, or that there are no gaps between lakes and uplands, and aquatic vegetation only occurs in lakes. As noted in Lab 1, we can enforce these constraints in a geodatabase, with topology. We’ll practice creating and digitizing into topology here. First, create a new ArcMap project, and add the lake boundary you digitized in the previous part of this exercise, and the RectSpring and BigSumUTM images. We wish to have four polygon layers in our geodatabase: uplands, lakes and ponds, emergent aquatic vegetation, and floating aquatic vegetation. Create an empty geodatabase. See the end of Lab 1 about topology, and Lab3 for instructions and videos if you are fuzzy on these first few steps on creating a geodatabase. Open ArcCatalog (filing cabinet icon) and right-click within a target directory to add a new geodatabase:
This will open a dropdown list showing a directory tree. You can navigate to a subdirectory where you want to store your new geodatabase. Left click on the subdirectory to select it, then Right click over the directory to open a menu. Select New, then Personal Geodatabase from the menu.
Here I named it BML_Topol. Within the new geodatabase, create a Feature Data Set (right click on the geodatabase, then NEW),
• name it something like BML_Layers, and
• select the UTM zone 15 (NAD83_2011) horizontal coordinate system, and
• use defaults for the rest of your choices. Now to add some data (see Video TopologyRules): right click on the BML_Layers feature data set, then Import: Import the polygon layer for the lakes boundary you just digitized (named Lakes_2000 in this example), also specifying the target location (your geodatabase), and the new name (Sublakes): This creates a copy of your data, as a feature layer in your feature data set within your new geodatabase. Let’s repeat the import, now with the polyline shapefile named SouthBayArea.shp, this will be a bounding area for our work, and next import the Lakes_2000 file again, but name this second copy Uplands.
It might not be clear now why we import the lake a second time, and into the Uplands layer, but there is a “trick” to speed up digitizing that we’ll explain later. Finally, Create/add two new, empty, vegetation polygon layers (feature classes) to your feature data set name BML_Layers in your geodatabase. As noted before, you create these by
• opening the target geodatabase (BML_Topol), then
• right clicking on the feature data set (BML_Layers), then
• selecting New and Feature Class… from the drop-down menu:
Make sure you specify appropriate names, here I used Emerg_Aveg, and Float_Aveg Also be sure to specify a polygon type for each layer (usually the default), and accept the default values for all the other options. When you’re finished you should have a geodatabase that looks something like: Now to set up the topology. First, review the introduction to topology in the textbook, and the short section on topology in ArcGIS at the end of Lab 1, and see the Video for this lab Topology Rules. We want to enforce a set of topological rules, so we create an empty topology, and build the rules.
• Right click on the in your BML_Layers feature data set, then
• New – Topology
This will open a “Topology Wizard” that steps you through setting up the topology. First, we envision four layers, the Lake, the Uplands, emergent aquatic vegetation, and floating aquatic vegetation. There is a fifth layer the defines the boundary or our study area, in our example named SouthBayArea_db. We want the layers to “play nicely,” in that we want them to be consistent with our ideas about the real-world features they represent. We wish to enforce the following rules:
1) the lakes and uplands layer don’t overlap (you can’t have both a lake and upland in the same place)
2) the emergent aquatic vegetation is contained within the lakes layer (it can’t occur on the uplands)
3) the floating aquatic vegetation is contained within the lakes layer (again, none on the uplands)
4) the floating and emergent vegetation layers can’t overlap 5) we don’t want any gaps between the lakes and uplands layers
Your first screen in the topology wizard just tells you it is there to help. The second screen lets you name it, and set a “cluster tolerance,” sort of like a snapping tolerance when it checks for errors. This is the distance at which it considers two points the same, and moves them to be co-incident. It is good to set your digitizing snapping tolerance about the same as your cluster tolerance. Here, I named the topology “BML_Layers_Topology, and set the cluster tolerance at about 2 meters. As you should know from the readings, you set the tolerance in accordance with your accuracy of your base source, and your analysis requirements. Since the image data have about a 2 meter error, so the cluster tolerance shouldn’t be much smaller. The next screen lets you select the features that will participate in the topology, those that will be used in rules: Click Next, and screen lets you set a “Rank of Importance.” From the reading, you should know that while fixing
topology, the software can move vertices in your data to “snap” them into agreement. Here you can say which data are most accurate, or to which you want to snap other layers. If the numbers are equal, it snaps whichever vertex it selects first. However, if you set a rank numbers, it always snaps higher numbers to lower number layers, e.g., data for a layer with a rank of 2 are always snapped to a rank of 1. Leave these all equal, and just hit Next. Now we add rules. This next screen initially shows no rules, with options on the right margin of the window. Click on the Add Rule…. button, you should see the following window:
Each of entry lines on the left side of the window gives you a pick list, for the feature classes (top and sometimes bottom entry lines), and the rule you want to apply to the feature classes (middle entry line):
EXAMPLE: Details to Follow
We build rules by selecting the participating data and rule from the pick lists. For example, to create our Rule #1 listed at the start of this section, that lakes and uplands layers don’t overlap,
• I select the SubLakes layer in the upper line,
• select the Uplands layer in the bottom line, and
• select “Must Not Overlap With” rule from the middle line:
When I click O.K., the rule is added to my topology:
EXAMPLE: Details to Follow
If we make a mistake, we can click on a rule in the list and the Remove button to remove it, or remove all rules at once. Add the remaining rules. Rules #2 through #5 are pretty straight-forwards: e.g., rule #2, the emergent aquatic vegetation is contained within the lakes layer (at right): You figure out how to specify rules #3 and #4, and add them. Rule #5 is a bit more difficult to implement, that the lake and upland layers should join along an edge without any gaps. You might think the “Must Not Have Gaps” would work, but on reading the fine print, you see it applies to only one layer, that must not have gaps with itself.
This is not what we want.
It turns out this kind of topological constraint “between layers” is not very cleanly supported in Arc. The best we can do is specify the Sublakes Area Boundary must be covered by Boundary of Uplands We’ll get some not real errors flagged along the outside border of our square area, because there is no lake/upland intersection there, but within our study area, where the lake/upland boundary exists, it will show us any true errors we might have. Your set of topology rules should look something like: Click on Next and then Finish. It will create your topology, and then ask if you want to validate it. Say no, as you haven’t digitized your layers. Your topology should now appear in your geodatabase something like:
If you have any of the geodatabase layers displayed on your map, remove them, e.g., right click on them in the table of contents, then Remove, so that your data frame looks something like the image below:
You delete the layers because we want to add the topology you created, and we wish to also add the participating data layers. We want ArcMap to link the layers to the topology in the view, and if we just add the topology, it doesn’t do that. The easiest way is to always add the topology and specify adding the participating layers. Add your topology and layers. Left click and hold on the BML_Layers_Topology displayed in the Catalog, and drag it on to your data frame. It should ask you if you want to add the participating feature classes, select yes. You should now see the layers and topology listed in your table
of contents. It is best if you uncheck the topology so it doesn’t display, we first have to digitize some data, then validate the topology to show errors. Add the SouthBayArea_db to your Table of Contents. Before digitizing, it really helps to set snapping (refer to Lab 3). Remember that you need to have started the Editor, and then access the option through Editor – Options, and through Editor – Snapping-Snapping Window and through Editor – Snapping-Options (see figure below). I’d suggest you
• Use classic snapping
• Set the snap tolerance to 2 to 3 meters (map units)
• Set the snapping environment so all layers snap to Vertex, Edge, and End (check all the boxes for the Sublakes, Uplands, SouthBayArea_db, and the two vegetation layers)
See the video Classic Snapping We want to restrict our data to remain within the box defined by SouthBayArea_db. This means we have to cut off and throw away the part of the Lake that is north and west of our study box. If we set our snapping to include the bounding box when splitting the SubLakes polygon, and we can snap along this bounding edge when digitizing the outside boundaries of the SubLakes and Upland polygons. The steps on the following pages show you how to clip to our study area and digitize a compatible uplands layer that matches our lakes boundary, and you may view the video Autocomplete for help.
Note that our copy of the digitize lakes data extends outside the bounding box. We can fix this by first starting the Editor (as in the previous section), and using the Cut Polygon tool (indicated by the red arrow):
With the Editor activated, specify the SubLakes as the edit target. Activate the caret (in blue box in the above figure), then click on the SubLakes polygon you want to cut. Selection is important. The target polyogn should be outlined in cyan. If the target polygon is not selected, it won’t be split. Now click on the Cut Polygon tool to activate it. Click outside the SubLakes polygon, on the bounding line defined by the SouthBayArea_db rectangle (a suggested starting point is shown in the figure below).
We wish to cut the lake along this boundary
Start cut here
End cut here
Now digitize a line along the SouthBayArea rectangle, heading West (left), to the corner, then South (down) until you have digitized a vertex outside the SubLakes polygon (suggested point shown above). Double click to end the cut. You should get something that looks like: Notice there is a selected line through the Lake (arrows at right). This indicates you split the Lake into two polygons. The cut tool is a bit finicky. Remember that 1) Editing must be activated, 2) you must select the target polygon with the caret first, 3) you must start and end outside the target polygon.
To delete the portion of the Lake we’re not interested in, activate the caret , and click on the portion of the lake outside your study area. Only the outside portion of the Lake should now be selected, with only it having the cyan outline. Right click over this selected polygon, and select Delete from the popup window, and the outside portion of the lakes should disappear. If you deleted the wrong polygon, remember that Edit/Undo in the main window will step backwards. Save and Stop Editing your SubLakes layer. Next we digitize the uplands layer. In digitizing, you never want to digitize the same boundary twice. It takes time, and you add errors. We’ll use a trick to digitize uplands, starting out with the SubLakes data we’ve already digitized. We’ll use an “Auto Complete Polygon” tool. If you start digitizing inside a polygon, then digitize outside the polygon, and loop back to an endpoint inside the polygon, it uses the polygon edge to complete the boundary for the new polygon.
In this way we can create upland polygons that use the existing SubLakes edge without having to digitize it a second time, and ensuring a perfect match. This is show below, and in the second part of the Lab 4 Autocomplete video. First, uncheck the SubLakes layer, or remove it from your data view, so that it won’t confuse you. Activate the Editor, and set the Uplands layer as your editing target. Repeat the steps you just did to remove the northern portion of Big Marine Lake, that is cut the polygon, and delete the Lakes portion outside or rectangle of interest. Then add upland polygons:
• Select the Auto Complete Polygon tool, then
• click inside an existing polygon (see figure below), then
• along the bounding rectangle boundary (careful to snap well), and
• part way through, digitize over to inside the starting polygon, and double click.
1) With the Auto Complete Polygon tool start here….
2) Digitize up and along the bounding rectangle….
3) Finish by digitizing to and double clicking inside the starting polygon
This should automatically create a new polygon, filing in along the previously digitized boundary you imported into your Uplands layer. You could have used the regular Polygon creation tool you used before, but this would require you digitize within the snap tolerance all along the land/water boundary, a bit of a chore. Auto Complete Polygon saves work. Your data frame should look something like the figure to the right, with a new, added polygon present and selected. Add more polygons using Auto Complete, each time starting inside an existing polygon, digitizing out to and along the bounding rectangle, and finishing within an existing polygon. Add successive polygons until the upland areas within your rectangle are all covered. The figure at the right shows two more polygons, added to completely cover the outside Upland area. Note there are two islands, shown as red patches in a green background in the figure to the right. We can use a trick to digitize them. Using Auto Complete Polygon, position the cursor on one side of an island, inside a polygon. Double click in a polygon on the other side of island. You’ll get two polygons automatically created that cover the island, as shown here at the right. We’ll join the two polygons a bit later. Create Polygons for any remaining island polygons.
We’re almost done digitizing the uplands. We just need to delete the original polygon in the Uplands that is actually the Lake. We also need to merge the various upland polygons, and also merge to create single polygon islands. To delete the Lake polygon, use
the caret ( ) and
• left click on the lake polygon to select it, and then
• right click over the polygon and select Delete
This should remove your water polygon, digitized as part of your Lake_2000 layer, from your Upland data, but match the boundary between Upland and SubLake exactly, because you used the same boundary when it does the auto complete. This is an important idea to keep in mind, try to manually digitize a boundary only once, and avoid like the plague a second digitization of a convoluted boundary. You can usually use an autocomplete, digitizing clip, or other function to do all that work for you. Finally, we need to merge the upland polygons. First the islands. Using the caret, click then shift-click on all the parts of any single island to select them all. Then use the Editor – Merge tool to fuse them. When you are done with each island, merge the “outside” upland polygons to each other. Select all the upland polygons (but not the islands) with the caret by clicking/shift clicking.
Use the Editor-Merge tool to group these. Save your edits and Stop editing. You should now have something that looks like the figure to the right, with the uplands area colored green: Note that the islands are each single polygons, and all the upland areas surrounding the Lake have been joined into one polygon. This looks a bit different from the previous views because I’m displaying the Spring image, which highlights the emergent vegetation. Now that we have some data, let’s validate the topology. First, make sure the Topology tools are activated, use: Customize – Toolbars, and make sure the Topology has a checkmark next to it (near the bottom of the list, we haven’t shown the entire list here). This will display the Topology Toolbar. Start Editing to activate the toolbar The most important tools for now are the Validate Topology in Current Extent, and the Error Inspector (see below).
Validate Topology in Current Extent
Do the following to check for errors in your topology so far, called “Validating” the topology (video Validate Topology):
• In the Table of Contents, check the boxes next to your layers included in the topology to make all of them visible.
• Check the box next to the BML_Layers_Topology to make it visible.
• Zoom to the full extent of the bounding rectangle, here “SouthBayArea.”
• Click on the Validate Topology in Current Extent tool:
• Click on the Error Inspector tool: This should show something like this figure:
The error types are displayed in the Topology section in the Table of contents, each error is shown colored in the data frame, and there is a listing for each error in the Error Inspector. If no errors show, click on the Search Now button:
This data, if you digitized correctly following the rules above, has only one error, and it isn’t a real one. Remember there wasn’t a rule saying that the boundaries had to match in two layers, the closest we could come was a rule that said the “Boundary of one layer had to overlap the boundary of another.” That is true where there are boundaries for both, but you notice that the area boundary for SubLakes is not under the area boundary for Uplands in the part of our study area where there is just lake, along the northwest edge of the bounding box. So we follow our rule where it is important, at the Upland/Lake boundary (no red, errors), and we get the spurious error on the margin of our study area. This sort of thing happens often, where there are areas flagged that don’t meet our topological constraints, but not in an important way. Click off the BLM_Layers_Topology, SubLakes, and Float_Aveg layers to hide them for our next step. Also click off the BigSumUTM image, and make sure the RectSpring image is displayed.
We now want to digitize the emergent vegetation. Let’s assume that all the gray areas in the water you can see in this spring image are emergent vegetation. This isn’t exactly true, but is pretty close, and good enough for this exercise focused on learning data entry and topology. Areas of water (A, dark blue) and emergent vegetation (B, gray) are shown at the right. The Upland polygons are green. We could use the same trick as before, copying the Upland boundary, and then auto completing for the emergent vegetation layer, but instead we will learn a few new tools that are also a bit quicker here (video, Trace Autocomplete). First, set the Emerg_Aveg layer as the target for digitizing (remember, using the
create features window, ). Select the Polygon Construction tool
, and digitize the “island” emergent vegetation, bordered only by water. In addition, use the Polygon Construction tool to digitize a “pseudo-island” in the emergent vegetation near the shore (cyan bounded pink blob in the figure to the right):
This is just a starting polygon, we’ll expand it to include all the adjacent emergent vegetation.
We’ll now introduce the Reshape Features tool , the Strait Segment tool ,
and the Trace tool , to digitize the emergent vegetation along the edge of the upland. These are all found on the Editor toolbar:
First, activate the caret, and click on the pseudo-island polygon to select it (giving it cyan borders). Activate Auto Complete Polygon in the construction tools (see figure at right), usually displayed as part of the Create Features window, on the right of your data frame. Look to the Editor toolbar, find and click on the
Reshape Features tool , then the Strait Segment tool
. Both should now have blue boxes around them. Start digitizing with your first point inside the selected pseudo-island polygon (1 in the figure below), then on the edge of the pseudo-island, then digitize along the emergent vegetation border with the water (2, in figure). After digitizing a portion of the emergent vegetation, put a vertex on the Upland boundary polygon by digitizing within your snapping distance (3 in the figure at right). Do not double click to finish your line.
Activate the Trace tool . It should now be surrounded by a blue box in the menu bar, as should the Reshape Feature tool. The blue box should be turned off for the Strait Segment tool.
1) Start with the straight line tool inside/on edge of polygon
2) Digitize a portion of the polygon boundary
3) Digitize over and onto the upland edge
4) Activate the trace tool, and digitize a vertex close to your last vertex
5) Position the cursor further down the boundary (DON’T click on in-between points), and click once to trace the line. You should see intervening vertices appear.
6) Activate the straight line tool, and digitize to double click inside the polygon boundary
Carefully place your cursor close to your last digitized point, on the edge of the Upland polygon boundary, and click once (4 in figure). This starts trace mode. Now move your cursor along the line to a point further down the boundary. It can be around bends, and quite a ways along the boundary, although there is an upper limit in the number of vertices. Go a short distance, about half the example polygon, for now. Click on the Upland polygon boundary (5 in figure). This should create a segment, traced along the boundary. It also takes you out of trace mode.
Activate the Strait Segment tool . Click over to and double click inside of the pseudo-island polygon in which you started; this should complete and enlarge the polygon, matching the Upland boundary along the edge (6 in figure above). The figure at right shows a before and after example: A few things can go wrong. First, make sure you have toggled on Auto Complete Polygon and selected the target polygon before you start. Next, while you are digitizing, you have click the correct number of times. Sometimes a double click takes you out of trace mode, and so you’re next click doesn’t trace, but rather puts in a straight line. It is important to click on the boundary you wish to trace once with the Straight Segment tool, then activate the trace tool in the toolbar, and click only once close to your initial vertex; then a single click further down the boundary will create a traced line. When finishing, you need to return to Straight Segment mode (click on the button), and double click inside the original polygon. Double clicks too soon will likely generate a message saying it can’t finish, and erasing your traced segment. After using this method a bit, you get the flow of it, and the number of mis-clicks diminishes. Remember that once you’ve traced a segment and clicked the endpoint, it fills the intervening vertices, and can take you are out of trace model (check to see if the Trace tool button has a blue box around it). If you click again further down the line, it will not trace, and just give you a straight segment. If you wish to trace,
you can re-activate trace mode. It is best to do small segments and additions at the start, until you get some practice. Also remember that if you don’t like the result of adding a new piece to a polygon via reshaping, you can use the main Edit – Undo Reshape command to revert back to your previous polygon: If you haven’t made too many intervening changes, you can step back through all your editions using this Undo Reshape command. Also remember that if you add a vertex in a wrong place while digitizing with the straight line tool, you can hover the vertex and right click, and then select Delete Vertex from the drop down menu. You can “walk back” through
vertices successively. This delete vertex option doesn’t work while using the Trace tool. If you want to end a trace without completing it, just double click well away from the boundary you’re tracing, and it will abort the current trace. One final note about tracing. Sometimes it gets a bit confused while completing a polygon, and makes the original part of the polygon disappear. An example is shown below. If this happens, it is best to Edit – Undo Reshape, and try redoing the trace, with a shorter/smaller addition.
A couple more notes about digitizing. Often when digitizing, using the trace or other tools, it doesn’t automatically merge your polygons, you can select multiple polygons and then Editor-Merge:
You can use the Trace tool at other times than when reshaping an edge. Although it is usually better to use the Auto Complete Polygon tool, you can use Trace with the Polygon tool. Make sure there is no polygon currently selected.
Select the Polygon Construction Tool , then just toggle back and forth between Straight line and Trace as appropriate while digitizing. See the video named Trace Tool New Polygon.
You often ease digitizing by making your target layer semi-transparent. Sometimes it is helpful to be able to see the image or other boundaries under your target layer. We do this through a right click on the layer in the Table of Contents, then Properties – Display, and setting the transparency to something 25% and 75%, depending on the color your using and the contrast with the background color. Also remember that you can use the Clip tool in Editor to clip, even from different layers (video, ClipDigitizing). This is helpful when digitizing a new polygon that contains an existing polygon feature in another layer, e.g., and Upland island:
• First digitize the surrounding feature in your Emergent Vegetation layer, then
• select the island in the upland layer, then
• use Editor – Clip to remove the overlapping piece:
You can verify the clip worked by turning off the symbology for the non-target Upland layer, as shown below: Continue digitizing until you’ve created polygons for all the emergent vegetation.
Stop Editing , Save Edits. Your layer should look something like the example right Remember, it is often easiest to digitize pieces for a large, complex polygon, and use Editor-Merge to combine them later. Now to digitize the floating, non-emergent vegetation. Load the BigSumUTM image, and turn off the SubLakes layer, for a data frame that looks something like: The oranges and reds in the bay are floating aquatic vegetation and emergent aquatic vegetation. We want to create a layer that represents the floating vegetation. The water is dark blue/black in this image. You’ll notice there are many small patches of open water, and places where the water gradually grades in to vegetation. In a professional setting, the image interpreter would likely visit the site near the time the aerial image was taken and note where an adopted definition for open water was met (e.g., less than 5% floating vegetation on the surface vegetation). They could use that as “ground truth” to calibrate digitizing.
Digitizing also often adheres to a “minimum mapping unit,” or mmu. This is an area or dimension below which you don’t collect data. We’ll use a minimum width of 10 meters as our threshold. Any water polygon that is less than 10 meters wide at its widest can be considered part of the floating vegetation. Refer to the sample map at the end. While you could open the Float_Aveg layer, and digitize directly in to it using methods we’ve shown, it would be laborious. You would have to snap to the Upland and Emergent Vegetation boundaries, and do a lot of tracing. There is an easier way. We note that most of the floating vegetation polygons border on already digitized polygons, either Lake or Emergent Vegetation. Our overall strategy is to copy/edit the Lake polygon for the bay, clip out where there is emergent vegetation we’ve already digitized, and digitize and clip out the open water patches in the bay. The remaining area in the bay is floating vegetation. We can then add the few remaining floating vegetation patches outside the bay. Finally, we can copy these new polygons into the Floating Aquatic Vegetation layer. First let’s make a copy, using methods we’ve already shown you. Right-click on your lakes layer (here named SubLakes), and select Data-Export Data, and save your data to a shapefile named something like draftFltVeg. Add this new layer to your data frame. Add/activate the Emergent Vegetation layer in the view, positioned as the top layer. Turn all other data layers off. Start the Editor, and set the draftFltVeg layer as your editing target.
Select the lake polygon in this draftFltVeg layer, and use the Cut Polygon tool
( ) to split the lake polygon into two at the entrance to the bay: Select and delete the open water polygon, to the north and west (remember, caret - left click to select, right click, then delete)
Your draftFltVeg layer should look something like the figure to the right, with the open lake portion removed. Now let’s remove the emergent aquatic vegetation. Turn all other layers off, EXCEPT for the draftFltVeg layer and
The emergent aquatic vegetation layer. Position the draftFltVeg layer on the bottom.
Activate the editing caret ( ), then click on the emergent vegetation layer to select a polygon. Your display should look like the figure to the right; make sure you select carefully, and haven’t selected the draftFltVeg polygon . Use the Editor-Clip function, discarding the overlapping portion, to clip the emergent vegetation polygon out of the draftFltVeg polygon. Toggle emergent vegetation layer on and off to ensure you’ve clipped out the portion as you intended (figure at right). Note the ragged edge where the emergent vegetation has been removed. You can now cycle through each polygon in the emergent aquatic vegetation layer, selecting each in turn, and clipping these from the draftFltVeg layer. It would be quicker if you could select and clip multiple polygons at a time, but the tool doesn’t allow it.
You can ease keeping track of those you’ve deleted by setting the Emerg_aveg layer semi-transparent (Properties-Display). The example on the right shows those sections that have been deleted via a clip labeled D, and those yet to be deleted labeled U. Notice that you can see the image below the clipped polygons, but not the unclipped. Pan and zoom around the entire area, clipping out the emergent vegetation from the draftFltVeg layer, Save your edits & Stop Editing. When you are done, your layer should look something like the figure to the right. Now we need to digitize the open water, and use it to clip out those parts from this draftFltVeg layer. Create a new polygon layer, it can be shapefile or in the geodatabase, and call it something like baywater. Make sure you match the coordinate system we’re using for the rest of the data, and that it is a polygon feature. Use previous lab instructions if you’re unsure on how to create a new layer. Add Bywater to the data view and Start Editing, digitize the open water sections of the bay into this data layer, remembering you don’t have to digitize any portions of water where the narrow dimension at its widest point is less than 10 meters. There is a figure below that shows approximately the polygons to digitize. It is a good idea to keep the Emerg_Aveg and Upland layers visible while digitizing, for snapping/tracing in a few instances, and to help orient yourself. When you are finished digitizing, Save edits, and Stop editing.
Your digitized polygons should look something like the blue blobs below. Don’t try to match all the exact details of the example polygons, this gives you an idea of the number and extent we’re expecting, but the point today is to practice with data development and topology, not create the exact data we did in this example.
Our next step is to remove these open water areas from the draft floating vegetation layer. You should know how to do this, using the Editor-Clip function.
When you’re finished clipping out the open water, your draftFltVeg layer should look something like the figure to the right. We should now add the patches of floating vegetation in the main part of the lake, labeled A in the figure at the right. Again, you should be able to do this without specific instructions, just make the draftFltVeg layer editable, and add the polygons. Remember to leave appropriate “bordering” layers visible, like the emergent vegetation and the uplands, so that you may snap to them while digitizing. When you’re finished, your layer should look something like the figure on the right: Note the added polygons in the main part of the lake, and a few in the open water in the bay. Our final step is to copy all of these new polygons from our draftFltVeg layer to our Float_Aveg layer in the geodatabase. You might wonder why we didn’t just create the draft layer in the database, but some of the editing operations work on shapefiles, but don’t work on a geodatabase, including some copies like the one we’re about to do.
Add the draftFltVeg and the (empty) Float_Aveg layer to your data view. Set Float_Aveg layer as your Editor target. Select all the draftFltVeg polygons (click drag a box around all of them, all turn cyan). Right click over the selected polygons, and Copy them (figure at right).
With the polygons selected and copied to the clipboard, you can open the main Edit menu in the upper right of the main ArcMap window (figure at right): Click on Paste, this should open a window in which you can select the target layer, Float_Aveg: Click OK, and they’re added to Float_Aveg. Save Edits, and you’re done creating your data. Now we need to check the topology, and fix any real errors. If you digitized well, you don’t have any real topological errors, although this rarely happens. By real errors, I mean ones that are true overlaps, gaps, or other configurations we don’t want, and not the edge of boundary non-overlap in the northwest corner of our study area I described before, that exist because of the way the rules are written. First, clean up the data frame, deleting all but the completed layers and topology, and the base images. Order the images so you get the least amount of “layer hiding”, e.g., from top to bottom Float_Aveg, Emerg_Aveg, SubLakes, and Uplands. This helps in seeing errors.
It might help to make all colors fully opaque, setting the Properties-Display transparency to 0%, at least at first, but in any event make sure all layers are visible, e.g., transparencies no more than 50%. Position the BML_Layers_Topolgy on top, so you have a display that looks something like the image on the right: Zoom to the full extent of the data. Start Editing, check the box to make the BLM_Layers_Topology visible in your data frame. Find the Topology tool bar, and click on the tool to Validate the Topology in the Current Extent:
This should display some topological errors, with red or pink outlines and pink interiors, at least under the default ArcMap coloring scheme. I didn’t have many, and perhaps you won’t, but I added a few to practice fixing them. Zoomed in, the errors are shown as: Since there are several overlapping errors, sometimes there is ambiguity as to which are involved.
Validate Topology in Current Extent
We can open the Error Inspector table, via a button at the right of the Topology toolbar: Click on the button, and the Error Inspector should show, usually near the bottom of the table. It will initially be blank, but clicking on the Search Now button should populate the rows with errors:
The table lists the rule type that is broken, the participating layers, and if you click on the row, notes the error in black (see figure at right). Our general process is to:
• Identify the errors,
• Inspect and fix,
• Re-validate to verify the fix
(again, see the Validate Topology)
Validate Topology in Current Extent
It is a good idea to zoom to the error (right click over the selected error in the Error Inspector table, then Zoom To), and to toggle visibility to show only the layers that participate in that particular error. Then you can set transparencies, toggle layers, and interpret the Rule type to decide which layers to edit. For example, in the error shown here, I’ve turned off all but the SubLakes and Uplands layers that participate in the error, and set transparencies so I can see that I need to edit the Upland layer, and close the gap between Uplands and Sublakes:
We now can fix this error. Up until now we’ve been using what ESRI calls “Classic snapping.” It is better for easy editing, but there is one advantage to the newer snapping tools ESRI provides, namely, snapping to nodes. In addition, topological editing is better when multiple layers share an edge, as in this case, as it moves matched lines and nodes. Although in many cases I can use the caret in the Editing toolbar,
when editing topological edges and nodes (where features come together), it is usually better to use the Topology Edit tool, in the Topology toolbar: You may not have any errors, because you digitized carefully in the instructions above. It is still a good idea practice these tools, e.g., moving vertices and boundaries, so that you learn how to use them. If you do have errors at this stage, use topological editing. First turn classic snapping off (Editor, Options at the bottom, uncheck Use Classic Snapping). Make sure the Snapping toolbar is activated (Customize – Snapping) Click on the snapping toolbar to Use Snapping, and snap to intersections, midpoints, and tangents, and make sure to Snap To Topology Nodes: To use the Topology Edit tool, click on it to
activate it ( ), and then edit as with the caret, for example, a double click on a polygon edge reveals the vertices, which I may drag to reposition. Since we’ve turned classic snapping off, we need to set the snapping tolerance. Unfortunately, we can’t set the distance in layer units (e.g., meters), but rather have to set them in screen units. This is unfortunate, because the screen units change with the display and zoom, and the equipment settings, and is a rather bad way to set up the software options, but it is the method ESRI chose for this update. After some experimentation, I found setting 50 pixels works on the computer on which this was written, so start with that: snapping tolerances, with Options… in the Snapping menu This should display the figure at right:
For the current error, suppose I want to adjust vertices from the Upland and Sublakes layer, closing an existing gap. After editing, I must:
• Save my edits,
• Make sure the entire error is within the view extent
• Validate the Topology with Current Extent ( ),
• Inspect the area again in the Error Inspector table Generally, you repeat these steps after fixing each error, until no real topological errors show up in the Error table. Sometimes, fixing an error can create a second one, particularly when using the Editor caret, instead of the Topology Edit tool. Because we copied some of our boundaries from the SubLakes to aquatic vegetation layers, and sometimes used SubLakes and Uplands as tracing guides, editing their boundaries can create additional errors. We see this here. After the first Validate Topology, inspection reveals a new, different error (see at right): The Float_Aveg is not covered by SubLakes, because I moved that boundary. No worries, I just activate set Float_Aveg as the Editor target, and use the Topology Edit tool to further edit.
I display, drag, and re-align the boundaries, and then do my Save-Validate-Inspect again, until the errors disappear. I repeat this for each error, until my data are clean, that is, there are only spurious or “not real” errors, as the noted for the upper left portion of our study area. When you’re done editing, create/print-pdf a map similar to that below, with all the normally required map elements. Be sure to include your topology, with the “spurious” error shown in the upper left, and the topology in the map legend.