Perform a hydrologic analysis on your data. Taking your first step of water bodies as a raster, you can then use that as a sinks raster. I'll specify the rest of this analysis in terms of GRASS as you mentioned that's the GIS system you're using:
Set up r.watershed
(documentation) with the elevation data layer you'd like to analyze and the sinks raster you generated in the first step:
r.watershed elev=input_dem depression=input_sinks basin=output_basins \
stream=output_streams threshold=1000
Where threshold is something appropriate for the scale of your data-- this should give you a map of each watershed: if you subtract that elevation from all the cells in that basin, you should get the vertical distance to the nearest water. You may need to iterate over smaller regions than your full raster to get good performance. You might find these tutorials (1, 2) also helpful in understanding how to use the command.
Mike helpfully mentioned an addon called r.watershed.distance which can be used to calculate this all in one go:
r.stream.distance -o dir=dirs stream=streams dem=elev \
distance=distance_outlets elevation=elevation_outlets
Which will result in an output close to what you're interested in:
This example was taken from the R.stream.* page, you can download the extension itself from the addon page.
Yes, there is. If you did not save your traverse to a text file when finished, you can:
- be in an Edit Session, have the Traverse dialog open and blank
- select the shape you want the calls for and enter edit vertice mode (ie, double click the shape)
- in the Traverse tool, right-click the description window and choose
Load Traverse from Sketch
You can then right-click again in the description window (may need to click one of the calls first) and save that traverse out to a text file for future reference. They can be loaded from text files as well.
Now if you want to label the lines with the calls, that's another animal. Parcel Fabrics automatically track the details of the calls in attributes, but just creating a shapefile/feature class and inputting with COGO doesn't. To add those attributes, there's a tool you can run on the shapefile or feature class from within ArcCatalog. It's only available in ArcCatalog (the actual program, not the window within ArcMap) and not visible by default, so you have to right-click somewhere in the menu space and choose Customize. Then go to the Commands tab and type COGO into the search box. There should be only one result - Add COGO Fields. Add that button to a tool bar, then click it to run. Note since you're adding fields, you can't have the file open in an edit session, and in fact you probably shouldn't have it open at all in ArcMap (or ArcMap even running for that matter) because Catalog and Map tend to lock each other out of access to files.
Note that it only works on line shapes. If you're creating polygon parcels, you'll have to first convert them to a line geometry and run the tool on those. It will add fields to hold the bearing and distance of the lines as attributes. Once that's done, you can open the shapefile/feature class up again in ArcMap and use the Update COGO Attributes button (last on the COGO toolbar) to actually populate the fields. Then you can create labels using those attributes. Of course, if you want to label the polygons you'll have to have the line layer in there too with a null symbology, and if you change polygons you have to re-export to lines and re-update the COGO attributes every time.
For this reason, you might want to consider using Parcel Fabrics. Not only does it track more information, but it's all integrated. However, it does require a higher license level (Advanced), has a bit of a learning curve, and is actually much more complex on the back end.
Best Answer
This question practically answers itself once you unravel the meanings of the words: "first", "vertical", "derivative", "magnetic", and "field". Let's take these in logical order rather than the order in which they appear. To begin with, the "vertical" in "first vertical derivative" indicates that the field is three-dimensional, not two, so we have some interesting spatial concepts to explore as a preliminary matter.
A "field" near a point is just a quantity that is defined at that point and all its (sufficiently) nearest neighbors. Fields in physics, like magnetic fields, usually are quantities that are either (a) numbers, called 'scalars'; (b) directions (with magnitudes), called 'vectors', or (c) more complicated quantities related in controlled algebraic ways to scalars and vectors: they go by the names of 'covectors', 'tensors', and (sometimes) 'multilinear forms'. As you surely know, or have guessed, vectors--which are often defined as "quantities with magnitude and direction"--can be written as ordered tuples of scalars. Similarly, general tensors can be written as organized arrays of numbers. Technically, a magnetic field is an (alternating) tensor field of rank 2. Writing its value down at any location (even if the set of locations is limited to a surface or just a line) uses up a 3 x 3 array of numbers, but those nine numbers really depend on only three more basic ones. Most people, therefore, think of the magnetic field as if it were a vector (of three components). The magnitude of that vector is also known as its "strength."
A (first) "derivative" of a field is obtained from that field separately at each point where the field is defined. You figure it out by measuring the change in the field when you move a short distance away from your base point. Over sufficiently short distances, the change in the field is proportional to the velocity of your motion: that is, to the distance you moved and to the direction of movement. For example, gravitational potential is a field defined around the earth. When you move in certain directions, called "horizontal," the potential does not change: its first derivative in all those directions is zero. In other directions, the potential does change. The rate of change tells us the gravitational force. It takes three numbers to fully describe this force at any point, because the force is a vector: it has direction (two numbers) as well as magnitude (a third number). Because (to a reasonable approximation) gravity points downwards everywhere on the earth's surface, to measure the force you just measure how much the potential changes in a vertical direction: that's its "first vertical derivative."
The earth has a magnetic field (which rotates with it). The magnetic field is more complex than gravity, because of its tensor nature. Each of its three basic components has its own set of derivatives. In particular, each has a vertical derivative, leading to three "first vertical derivatives." Since you have only one raster, clearly some simplification has occurred.
It turns out that a magnetic field survey concentrates on the strength of the local magnetic field. This means it doesn't bother to measure direction (the way a compass would). Thus, you can take a gradiometer out and obtain lots of readings of magnetic field strength--just single numbers, like temperature--at all the points you wish to reach.
If "vertical" truly means "straight up" in the field (rather than straight up on a map), as I suspect it does, then your raster must be representing the vertical derivative of the magnetic field strength. You could measure this, for instance, by getting a gradiometer reading on the ground, then getting another reading at (say) one meter above ground, and recording their difference. This is a rate of change of magnetic strength per unit change in elevation. I'm not saying that's exactly how it is measured; there are other more direct ways it could be done (such as measuring the dip of a carefully positioned compass needle). But, however the measurement is performed, that's what the first vertical derivative is.
(Analogously, suppose you were interested in how quickly the earth's atmosphere cools off as you rise up. You could measure temperature on the surface, measure it at a point directly above the first measurement--maybe a kilometer up, so that the temperature would change enough for you to detect it--and record their differences. The difference divided by the relative elevation would be a rate of change of temperature per meter of elevation: a vertical temperature gradient. That would be a "first vertical derivative of the temperature field." It would, in principle, change from point to point. Therefore you would measure this gradient at a large set of points and grid them. There's your "first derivative of the temperature field" survey.)
Now that you get the idea, you see that this thing you're mapping is no different than any other scalar field: it's simply a number that varies from point to point. As with any other scalar field, whether it be temperature, elevation, snow cover, or anything else, you can apply any principle you know concerning the visualization and analysis of such fields. This is where your GIS analytical skills come in and what makes them potentially so useful in so many application domains. In short, if you know how to make good maps of elevations, you can apply those skills to make equally good maps of a first derivative of the magnetic field. Only the interpretation is different.
It's likely that the people interpreting these data are used to particular forms of data presentation, just as many people interpreting elevation data become accustomed to a particular form of map: a shaded relief map, or a contour map, or a shaded contour map with a conventional blue-green-brown gradation, or whatever. In particular, the magnetic gradient people are probably looking for anomalies (at least ones that can be distinguished from noise). Therefore their cognitive needs are different than those of, say, the geographer seeking to describe landforms in a DEM. You should learn what the objective of their visualization is and you should research such conventions, if they exist. Use them at least as a point of departure for any improvements you might suggest. But remember, just as there is no "universal convention" for representing elevation maps, there cannot be any universally correct or best way of visualizing magnetic gradient rasters. There is room for creativity here if you wish to use it.