Digitize an Analog Map With GeMS, Part B2

Video Transcript
Download Video
Right-click and save to download

Detailed Description

Digitize an Analog Map With GeMS, Part B2 - Digitize orientation points and check topology.

The Geologic Map Schema (GeMS) defines a standard database schema — a database design — for digital publication of geologic maps. This tutorial is one of six originally presented as part of a short course at the 2021 Northeastern Section Meeting of the Geological Society of America by Ralph Haugerud, USGS, on how to use ArcMap and custom tools to create GeMS-compliant ArcGIS file geodatabases.

GeMS Trainings

  1. Getting Started With GeMS, Part A
  2. Digitizing an Analog Map With GeMS, Part B1
  3. Digitizing an Analog Map With GeMS, Part B2
  4. Digitizing an Analog Map With GeMS, Part B3
  5. Translating a Digital Map With GeMS, Part C1
  6. Translating a Digital Map With GeMS, Part C2


Date Taken:

Length: 00:24:42

Location Taken: US

Video Credits

Video and caption editing, Evan Thoms, USGS, Geologist, ethoms@usgs.gov


So I have digitized all the contacts in this area. I built polygons, I've and colored them by map unit. Looks pretty good from here. We still have two more classes of features to digitize. The tuff beds across the map and the strikes and dip measurements distributed in many places. Hard to read. Before we dive into that, let's look at the recipe for that process. We're going to add the feature class, relevant feature class, to our map composition. We're going to set some crude symbolization for orientation points, simple bedding symbol, and we're going to set the symbols to rotate via the Azimuth field. We digitize a bedding location. We grab the edit tool and select Edit Feature. We can right-click and get attributes and key in the inclination value. Then we can click on the rotate tool in the editor toolbar grab the symbol and rotate it around until it matches the underlying image. This will set the azimuth value. We'll repeat for each one. We need to add the orientation points feature class. You need to set some symbolization. And here's a bunch of things, and I'm going to use the FGDC symbolization. Oh, but I forgot. Set it to rotate by the azimuth field, say OK. And, let's see what else. Let's try one here. So you can zoom in. Let's start editing. Find there a template we can grab. Digitize the point. Grab the Edit tool. Right-click. Attributes. This has got a 45 degree dip. And then we can grab the rotation tool. And rotate this around until it matches. But I can't see that you can't see it, so we need to fix our symbolization. There are couple of things. One is we go to the dataframe properties, and set the reference scale to be 24,000. And then when we zoom in. The symbol's bigger. And I think I'm going to make the symbol a bright color so I can see it. And see if that helps, and I can see it and I can see I didn't get the rotation quite right. So let's take this. And there's the azimuth value, 178.7. We can be finicky and say, oh, that was probably at 179 or something and improve the value. I personally don't see the point to it. You're welcome to do so. Now we can go on to the next one. And we grab the template. Hit the Editor toolbar. The attributes; that has a I believe a 40 degree inclination. And we can grab the rotate tool. Rotate until it lines up. Back to create features, grab a template. I'm using the scroll wheel to change my zoom. Attributes. That's got a 60 degree inclination. Grab the rotate tool. And move it around until it lines up. It helps to do this systematically. I'm not going to bore you with it. There is one other thing to show you about this. We've built up several points here in the attribute table. They've got azimuths and inclinations but none of them have a type value and we need to use the Field Calculator at some point and say that these are all bedding. And this says I didn't type very well. Let's try this again; Field Calculator. They need have double quotes on both sides. Yeah, that worked. I'm going to give you a break and go do the rest of these and will come back in a minute. I've digitized all the strikes and dips, I think, the next step is to do MapUnitLines. So we need to add the MapUnitLines feature class to the map composition. We can go over here and start on this little one here. And I want to stop, Stop Editing. Yes. And this should bring up a template for MapUnitLines and I can go in here and digitize this short piece of, short piece of tuff bed Tte. And so we'll go to attributes. MapUnit is Tte. It's not concealed. It's a dashed line which makes me think that Location ConferenceMeters at this scale, about 100 is appropriate. It appears to be certainly there. And certainly identified. I'm going to leave the other attributes blank for the time being. And come to the west. And this line, this tuff bed is continuous but it's got concealed and not-concealed parts, portions. Parts are dashed and parts that are not dashed. So we'll start here. Next piece goes across the valley. Start a continuous piece. And my guess is it's continuous through this strike and dip was broken only so that strike and dip would show. You can see I'm, I'm starting and ending, ending and starting a line wherever the line character changes from concealed to dashed continuous. And again, I'm zooming using the scroll wheel, on my mouse. Now I've done a whole bunch of lines and these are all tuff beds. Tt -  c, I believe. So, let's open up the attribute table and collect all of these lines that are not labeled and say that these are map unit Ttc. And now it gets a little more interesting. I want to select the ones that are concealed. That reach. This reach. This reach. This one. And this one. And again back to the attribute table and the Field Calculator. Those all are concealed. The remainder, let's do this the easy way. Didn't get those. Are is-concealed equals 'no'. Now, if we can see this, we had certain lengths that were continuous lines, well-located. There's one. Hitting shift and select again, there's another one. There's another one and there's one there. Again, open up the attribute table and these are the ones that well-located, so their LocationConferenceMeters should be fairly small. And on this map, I think well-located is, probably, 30. The remainder are not well-located and I'm going to stick with the value of 100. And I hope in the discussion someone will ask me how I chose those values and how I defend them. Let's see, let's clear selection. Everything has a Existence Confidence that's certain. And everything has an Identity, Confidence that's certain. Everything on this map can be plotted at a 24,000 scale and I'm going to say let it say we can plot it, yeah, at, um, all scales that are larger than 1:100,000. So, PlotAtScale is the denominator of the smallest scale that feature can be plotted at. 100,000. And we haven't defined Data Sources yet, but I'm going to say that the data source for stuff that I digitized from John Whetten's map is DAS1. The problem is now symbolizing these, and if this were ContactsAndFaults, we have code to make it easy to go from the conflation of Location ConferenceMeters, Existence Confidence, IdentityConfidence and the map unit or type to tell us how to draw these, but we don't. So I am going to stick in a dummy value. Which means I need to Stop Editing. I'm gonna to add a field here. And call it LTYPE because I learn GIS in Menlo Park in the 90's and we all did ALCART which used LTYPE for lines. Call it text and let's do leave that at 50. So let's sort here, on is-concealed sorry, and then sort by LocationConferenceMeters. And so. So for those that, have, that are not -concealed and have a well-located, we're going to call those key bed. Continuous. For these here, that are not-concealed but are not well-located. I'm going to call those key bed, dashed. And for these that are concealed. we're going to call them key bed, dotted. And at this point we can symbolize these on those categories. Categories, field is LTYPE. Add All Values. And we can search for Key bed, and I think I want to use that one. That's the dashed one. And, here's a dotted key bed. Now, this is kind of a kludg and reflects the reality that GeMS is not focused on symbolization. It's focused on the concepts behind the symbols. Little bit clumsy in this case. MapUnitLines are something that I have not digitized or coded many of and so I've not bothered to figure out an easy way to do this. Selection. We can turn on MapUnitPolys an turn off this and this begins to look like a geologic map. Next step is to check the topology of our digitizing. We can build a standard ArcMap topology an find out if the contacts lie on top of the polygon boundaries and find dangles, but we're kind of limited to what we can do that way and so we worked up a tool for checking the topology of a geologic map database that goes into things a little more detail. Now, I think my digitising is pretty good and I'm not sure there any errors in here, but I want to find some so I'm going to make an error just to make sure we have something to do and look at here. I want to take this line here, ah, And I'm going extend to that contact so it's got a dangle. And for that matter, it doesn't lie on top of the polygon boundary there. And I'm gonna go back to the PowerPoint. I need to save my edits here. The Topology Check tool looks at the geologic map topology in more detail than standard Arc topology can. It was written especially to get snapping errors in ContactsAndFaults. It also will pick up some line attribution errors, some fault direction, at fault line direction errors, and it does a standard Arc topology looking for whether or not ContactsAnd Faults cover all polygon boundaries. Whether there are lines that cross themselves and if there are duplicate lines. So these are some of the kinds of errors that Topology Check and find that Arc topology won't. Places where the contact and it's concealed continuation don't align places. Places where they do align but the break isn't it at the,  the valley wall contact. Places were four units meet at one point, which is geologically implausible. Faults with no offset. And a tricky one we use the direction of a fault line to say what's the upper plate and lower plate on a thrust fault and if we get the directionality of the lines wrong we're gonna put the teeth on the wrong side and so we want to see the fault lines don't change their, every 'to' is expected to a 'from', that we don't have a 'to' to 'to' or 'from' to 'from' direction. Topology Check also builds tables showing what map units are on what side of certain classes of ContactAndFault. So this is a table for all the concealed ContactsAndFaults in the database, or in the feature class, feature data set, and all of the entries should be on the diagonal. Concealed contacts or faults should always have the same thing on each side. There's a similar context, not-concealed table, which should have no values in the diagonal. They should all be out here on the sides. There's also a faults not-concealed table, put in here because if there's a fault in very young material, these units are ordered from roughly from young to old, young to old. We want to look at it closely, we don't want to go scaring anybody, saying that we've got, you know, faults in young alluvium where there aren't such things. To do this, we need to have map units that are ordered by HierarchyKey, a rough approximation to age, and so we need a skeleton DMU that has MapUnit and HierarchyKey in it and we need to go build that right now. So, let's go back to the map and add this to the map composition. Open it. And we're going to edit it, so Start Editing. Our map units from top to bottom are Qal, Qoal, Tcs, and we're going to leave all this other stuff blank for the time being. I'm just going to turn the description field off. We want to see HierarchyKey and I'm gonna say there's 1-1, 1-1, 1-2, 1-3. And 2. We can sort this in reverse descending order and screw it up. Let me sort by HierarchyKey And get back the order we want, the stratigraphic order of the map units. With this done, you can save our edits and stop editing. And run the Topology Check tool. It wants to know which feature data set we're working on and we're going to work on the geologic map feature data set there isn't another one in this database and we're gonna say that, yes, HKey values are less than 2, consider drawing a dotted line underneath them, this tool will tell us where we've missed concealed contacts that we could draw in ContactsAndFaults. It won't tell us anything about concealed map unit lines, unfortunately. And we can run it. And, oh yeah, Evan recently added to the toolkit a little bit of a really nice thing it if you're connected to the internet. When you run one of these tools, it checks back at the GitHub repository and see's that there's a new newer version and tells you, which is nice to know. So the first thing we're doing is building a standard Arc topology; we validate it we find the errors, we export them so we can look at them later. Then it goes and does some hard work where we're identifying ContactsAndFaults with the Map UnitPolys to find out which polygon, what map unit is on each side of every line segment in ContactsAndFaults. Then we're looking at the directionality at the beginning and ending so we can figure out how the line segments go around each node and doing a lot of fancy logic. And calculating which nodes look like it might be bad ones and it's done OK. So, close this, and we can go add some data. This Topology Check tool makes a new folder and puts a new database inside it. Then, let's add those two, I think that's all we need here. And so the first thing is we had topological errors and I find I can see those best if I make the nice big fat red lines and put them underneath the lines of my, my database, the ones, good ones, and most of these are the one line around the perimeter. And for some reason, I guess because there's a gap on the outside, this always shows up as an error in the topology and you ignore it, but there's one over in here where there's a problem that we knew we were going to have. Where, um, the polygon boundary is no longer underneath the contacts; we moved the contact. If we turn on our errors, bad nodes, we've got two bad nodes in here, also. Just looking to see what those are. And one of them here. Let's see. That's our dangling contact and the other is a case where 4 lines meet at a point. And that's geologically implausible. If we fix the line work, uh, I need to edit this here. Edit Features, Start Editing. We put this thing back where belongs. We should be able to rerun the Topology Check tool and find there are no errors no bad nodes here and no errors where, well here, let's look at this. Where the boundary was not covered by a line.