Seems I have gotten ahead of myself, I have started posting about things like DTMs and TINs and I have not attempted to explain what they are. For starters, a DTM is a Digital Terrain Model and a TIN is a Triangulated Irregular Network. For the most part, I often use the terms interchangeably but there is a minute difference. Both terms represent a surface, a composition of plane segments that represent and model the shape of the earth. Both compositions contain points, connected by line segments, line segments that define edges of triangles. Adjoining triangles share both vertices and edges; the vertex of one triangle cannot lie in the interior of another triangle.
The difference lies in the orientation of the points; a DTM is most often affiliated with designed surfaces while a TIN is often associated with field collected data, hence the irregular-ness.
Occasionally I encounter a set of grading plans with nothing but contour lines as a guide to building a site. Seldom, if ever, does contour lines provide sufficient data to properly establish an accurate DTM from which to work. Allow me a chance to illustrate:

Looks simple and straightforward does it not, put a little more thought into it. A section from a not so arbitrary, direction wise anyway, baseline yields this section :


What are the odds that the design engineer actually intended to break the –2% slope to –2.8%? Or is it more likely that the -2% was intended to strike the 2:1 slope? In this example the later is the true statement. Then why does it show the change in grade? Simple, the contour interval is set at 1-foot, so with a 2% slope there are only two contour lines generated every one hundred feet. Anything that happens inside this interval is not propery represented by contour lines. Just one example why the design engineer should always include alignments and typical sections.
An area in which I place a great deal of thought these days is in machine control systems. Particularly those systems that are used as grade control for earth moving equipment, such as for dozers, excavators and road graders. This systems function using
1. Some type of positioning systems (usually GPS or Robotics)
2. Device interface (with or without hydraulic interfaces)
While this is an over simplification of the systems it serves the purpose of this introductory post, as the focus of this post is not on the systems themselves but rather the data, models, they consume.
The system with which I work daily is a product of Carlson Software. The machine mounted software is title Carlson Grade. Hats off to Carlson on their current product line-up, they are made right. All of the data files produced on one product are directly movable to their other software. So files created on the desktop platform are usable with their data collectors and their machine control systems. Nice.
I have heard various arguments about what should be contained in a final and complete Digital Terrain Model. Some may argue that break lines and spot elevations need to remain in the final file. I don’t agree, neither does Carlson. I am of the opinion that the final DTM file should only contain defined planes and surfaces, no breaklines and no spot elevations. The edges of the plane segments should follow the breaklines, no need in storing redundant data.
Carlson has two dtm files structures. The older of the two has the file extension .flt and it is a txt file containing triangle edge data. The newer and faster format has the file extension .tin and is a binary file containing vertices and triangle data.
I spend a lot of time interpreting civil site plans prepared by others and then building DTMs or TINs from them. As time goes on I hope to post a few tricks and approaches that I have found useful.
There are many ways to approach modeling data and the one I am going to present here I was taught at ETSU in a class called, at the time, Advanced Surveying Mathematics. It is rooted in the realm of Linear Algebra and Calculus and attempts to model data with constraint equations and the minimizing of residuals.
This method uses two matrices to store and model data. The first being matrix J. Matrix J contains one row for each measurement and one column for each unknown variable. Each element contains the derivative with respect to the variable in the column it resides. The second matrix, is matrix k, it contains the residual of that measurement, or the value that the measurement should be minus the calculated value of that measurement.

Matrix J and K are applied in this equation which yields an update to the variables and the process is repeated.
Pardon this simplistic explanation, I am not a mathematician.
I have successfully built models of lines, circles, polynomials, triangulations, trilateralizations and traverses among other things. It is my hope to post examples and maybe even some code snippets in the coming days.