Terrace

Surfaces

This chapter shows how Terrace models the ground: building a TIN surface from survey points, shaping it with breaklines, boundaries and edits, showing it as contours or colored bands, and measuring cut and fill between two surfaces. You'll be able to make the existing ground (EG) surface every road, grading and drainage design stands on, and check volumes against it.

What a surface is

A surface is a model of the ground (or of a design) that gives an elevation anywhere inside it. Terrace builds most surfaces as a TIN, a triangulated irregular network: the survey points are joined into triangles (Delaunay triangulation, which keeps the triangles as even as it can), and the elevation between points is read off the flat triangle face. Contours, profiles, sections, daylight lines and volumes are all read from those triangles.

A surface is built from its definition: point groups, breaklines, contour data, boundaries and edits. Terrace keeps the definition, not just the triangles, so when a point moves, a group gains a shot or a breakline changes, the surface rebuilds by itself, and so does everything made from it (profiles, corridors, volumes).

There are three kinds:

  • Triangles (TIN): from points and lines. The usual kind.
  • Grid: a regular grid of elevations from a DEM file, triangulated for display (see Point clouds and grids).
  • Volume (difference): one surface minus another, showing the depth of cut and fill (see Volumes).

The Surfaces tab

The Surfaces ribbon tab: Create group (Create Surface, From Point Cloud, From Elevation Grid), Add Data group (Breaklines, Boundary, Contours), Edit group (Edit Surface) and Analyze group (Volume, Surface Report).
The Surfaces tab.
ButtonCommand (aliases)What it does
Create SurfaceCREATESURFACE (CSURFACE, TINSURFACE)Opens the New Surface dialog: a TIN from a point group
From Point CloudIMPORTLAS (LASIN)A surface from a LAS/LAZ cloud
From Elevation GridIMPORTDEM (DEMIN)A grid surface from a GeoTIFF or ASCII grid
BreaklinesADDBREAKLINES (BREAKLINES, ADDBL)Polylines or feature lines the triangles must follow
BoundaryADDBOUNDARY (SBOUNDARY)Outer, hide, show or data boundaries from closed polylines
ContoursADDCONTOURS (CONTOURDATA)Polylines at their elevations as contour data
Edit SurfaceSURFACEEDIT (SEDIT, EDITSURFACE)Add or delete TIN points, swap or delete edges, raise, lower, simplify, smooth
VolumeSURFACEVOLUME (SVOLUME, VOLSURFACE)Cut and fill between two surfaces, optionally kept as a volume surface
Surface Report—The report dialog for the selected surface

When you select a surface, a contextual Surface tab appears at the end of the ribbon with the same edit commands and an Object group: Properties, Zoom To and Report.

The ribbon with the contextual Surface tab active at its right end: Modify group with Edit Surface, Breaklines, Boundary and Volume; Object group with Properties, Zoom To and Report.
The contextual Surface tab, shown while a surface is selected.

Creating a surface from points

The first surface of a project is normally the existing ground, EG, built from the survey's ground shots. The fastest way is the Build a surface from the group box when you import the point file. To build one from points already in the project:

  1. Click Surfaces ▸ Create Surface (or Build a surface in the Next step panel). The New Surface dialog opens, filled in.
  2. Check the Name and Description. The first surface of a project is called EG, “Existing ground”; later ones Surface, then Surface 2, Surface 3 ….
  3. Pick the group in From point group. Terrace starts with the project's every-point group (All Points), else the first group; the line below says how many points the group holds. A project without groups has no menu here: the surface takes every point, and Terrace makes an All Points group for it.
  4. Choose a Style (Standard at first; see Styles).
  5. Set Minor contours every and Major contours every: 0.5 m and 2.5 m to start (1 ft and 5 ft in a US project).
  6. Set Longest triangle side to trim long outside triangles (0, the default, keeps them all; see the tip under Surface Properties).
  7. Click Create.
New Surface dialog: Name Ground 1m, Description Ground and creek shots, 1 m contours, From point group Topo with 2095 points in it, Style Standard, Minor contours every 1 m, Major contours every 5 m, Longest triangle side 40 m (0 = no limit); Cancel and Create buttons.
A surface from the sample project's Topo group, with 1 m and 5 m contours and triangles no longer than 40 m.

Terrace triangulates at once and reports the points, triangles and elevation range (“Surface Ground 1m: 2090 points, 4037 triangles, elevations 42.74 to 74.87.”). Points without an elevation are left out, and the surface's notes say how many. The surface appears under Surfaces in the Project browser, drawn on the C-TOPO layers. It's one undo step. The dialog refuses an empty or used name, a major interval smaller than the minor one, and a group with fewer than three points.

On the command line

Or type CREATESURFACE (alias CSURFACE):

  1. At Surface name [Dialog], press Enter for the suggested name or type one. Type D (Dialog) to open the New Surface dialog instead.
  2. At Build from (2134 points in the project) [All points/Group/Empty], choose:
    • Enter or A: every point. Terrace uses (or makes) an All Points group for it.
    • G: a point group. Type its name (or click it in the Project browser); the default is the last group.
    • E: empty, to fill later with contours or breaklines.
  3. At Contour interval (major every 5), press Enter for 0.5 m (1 ft in a US project) or type another. The major contours are every fifth: 2.5 m.
Command line: Build from (2134 points in the project) [All points/Group/Empty] <All points>: G; Point group (type its name) <Control>: Topo; Contour interval (major every 5) <0.5>: 1; Surface Surface 1: 2095 points, 4167 triangles, elevations 42.620 m to 74.870 m.
The command-line way: a surface from the Topo group, with 1 m contours. Only the command can make an empty surface.

Tip Build EG from a group of ground shots, not from every point. In the sample project, Topo takes only codes NGL* and CRK*, so tree, control and structure shots don't distort the ground. See Point groups.

The sample project's EG

Open the sample project (Help ▸ Open the Sample Project) to see a finished one. EG is built from the Topo group (2,096 shots of rolling ground in Barangay San Roque, Teresa, Rizal), with the creek bed as a breakline and a longest edge of 40 m, contoured every 0.5 m with 2.5 m majors. The corridor adds two more surfaces, Teresa Bypass Corridor Top and Teresa Bypass Corridor Datum.

Plan of the sample project with only the surface and centerline layers shown: brown minor and major contours of EG over rolling ground, a creek valley crossing from top to bottom near the middle, the red Teresa Bypass centerline with its station ticks and curve data running left to right, and the denser contours of the corridor surfaces along the road.
EG and the corridor surfaces around the creek crossing (other layers turned off).

Surface Properties

Click a surface in the Project browser (or in the plan) to see it in Properties. Every change is one undo step and redraws at once.

Properties of the surface EG: Zoom to, Rebuild and Report… buttons; General rows Name EG, Description Existing ground from the topographic survey, Style Default, Kind Triangles (TIN), Points 2090, Triangles 4037, Elevations 42.740 m to 74.870 m; Contours rows Show contours on, Minor interval 0.5 m, Major interval 2.5 m, Smooth contours off; Display rows start with Show triangles.
EG in Properties: 2,090 points, 4,037 triangles, from 42.74 m to 74.87 m.
GroupRowWhat it does
GeneralName, DescriptionThe surface's name (profiles and corridors show it) and a note.
StyleHow it looks (see Styles).
KindTriangles (TIN), Grid, or Volume (difference).
PointsVertices of the built TIN.
TrianglesTriangles of the built TIN.
ElevationsLowest to highest.
ContoursShow contoursOn by default.
Minor interval0.5 m by default. Can't be more than the major interval.
Major interval2.5 m by default. Can't be less than the minor interval.
Smooth contoursDraws each contour as a smooth curve through its straight pieces (it still passes through every vertex).
DisplayShow trianglesThe TIN's edges, on layer C-TOPO-TINN.
Show pointsThe TIN's vertices, on C-TOPO-PNTS.
Show borderThe outside edge, dashed, on C-TOPO-BRDR. On by default.
AnalysisNone, Elevation bands or Slope bands (see Elevation and slope bands).
BuildLongest edgeTriangles at the outside with an edge longer than this are left out (0 = keep all). TINs only.
Don't rebuild by itselfLocks the surface: it keeps its triangles when its points or lines change, until you click Rebuild.

The buttons at the top: Zoom to fits the surface in the view, Rebuild builds it again now, Report… opens its statistics report.

Tip A survey band along a road has a ragged outside, and the triangulation bridges the gaps with long thin triangles that invent ground nobody surveyed. Set Longest edge to about twice your shot spacing (the sample uses 40 m) to trim them, or draw an outer boundary.

Contours and intervals

Contours are drawn from the triangles at every multiple of the minor interval: minor ones on layer C-TOPO-MINR, every major one (each multiple of the major interval) heavier on C-TOPO-MAJR. Terrace's default, 0.5 m minor and 2.5 m major, suits the 1:1000 plans DPWH road plans use.

  1. Select the surface and set Minor interval and Major interval in Properties (for example 1 and 5 for steep ground).
  2. Turn on Smooth contours for a hand-drawn look on a presentation plan.

If an interval would give too many contours for the surface's height range, Terrace doubles it for drawing until they fit, so a tiny interval on a mountain doesn't freeze the plan.

Note The styles Contours 1m and 5m, Contours 0.5m and 2.5m and Contours 2ft and 10ft carry their own intervals, and those win over the Properties rows. Use the Default or Standard style when you want to set the intervals yourself.

Styles

A style sets what a surface shows. Pick one from Style in Properties; change the styles themselves in Output ▸ Styles (see Standards and styles).

The Style menu of a surface open in Properties: Default (ticked), Standard, Contours 1m and 5m, Contours 0.5m and 2.5m, Contours 2ft and 10ft, Triangles and Border, Border Only, Elevation Banding, Slope Banding, Slope Arrows.
The surface styles.
StyleShows
Default / StandardContours at the surface's own intervals, and the border.
Contours 1m and 5m, 0.5m and 2.5m, 2ft and 10ftContours at those intervals, no triangles.
Triangles and BorderThe TIN's edges and border, no contours: for checking the triangulation.
Border OnlyJust the outline.
Elevation BandingEight colored elevation bands, with contours.
Slope BandingColored slope bands (2, 5, 10, 15, 25, 50 %), no contours.
Slope ArrowsAn arrow pointing downhill on each triangle, with contours.
EG shown with the Triangles and Border style: a mesh of grey triangle edges over the survey band, larger triangles away from the road and small ones along the corridor.
EG in the Triangles and Border style. Look for long thin triangles at the edges and across gaps in the survey.

Elevation and slope bands

Colored bands make the shape of the ground readable at a glance: where the high ground is, which slopes are too steep to cut, where water will gather. Set Analysis in Properties (or pick a banding style).

  • Elevation bands: the surface's range split into eight equal bands, low to high, on layer C-TOPO-BAND under the contours.
  • Slope bands: each triangle colored by its slope in bands with limits at 2, 5, 10, 15, 25 and 50 %.
EG with elevation bands: the creek valley in dark green through the middle, rising through lighter greens and yellows to orange high ground at the top left, with the road corridor crossing left to right.
Elevation bands on EG: the creek valley is the dark band through the middle.
EG with slope bands: gentle ground in green and pale yellow, the steep banks of the creek valley in orange and red.
Slope bands on EG: the creek banks (red) are the steepest ground the road crosses.

Note The Analysis menu also offers Slope direction, but nothing is drawn for it yet. For downhill directions, use the Slope Arrows style.

Breaklines

A breakline is a line the ground changes slope along: a creek bed, a ridge, the top and toe of a bank, the edge of an existing road. Triangles are not allowed to cross it, so the TIN follows the feature instead of cutting corners across it. The sample's EG has the creek bed as a breakline.

  1. Draw the line as a polyline or line (PLINE), or use a feature line (see Grading).
  2. Click Surfaces ▸ Breaklines (or type ADDBREAKLINES, alias ADDBL).
  3. At Select surface to add breaklines to, press Enter for the ground surface (EG) or click or type another.
  4. At Select polylines or feature lines, pick them and press Enter.
Command line: Select polylines or feature lines:; Added 1 breakline to EG.; 1 at elevation 0 take their elevations from the surface (non-destructive).; Surface EG: 2145 points, 4104 triangles, elevations 42.740 m to 74.870 m.
A flat polyline added to EG as a non-destructive breakline.

What Terrace makes of each kind of line:

You pickIt becomes
A feature lineA standard breakline with the feature line's 3D points, linked to it: change the feature line's elevations and the surface follows.
A polyline or line at an elevation (its Elevation property isn't 0)A standard breakline at that elevation: its points and edges are forced into the TIN.
A polyline or line at elevation 0A non-destructive breakline: the edges are forced in, but the elevations along it come from the surface itself. Use it to make the triangles follow a line without changing the ground.

Arcs in polylines are cut into short chords (at most 5° each). The surface rebuilds and the command line gives its new counts.

Tip For a breakline whose elevation changes along its length (a creek bed falling downstream), make it a feature line: it carries an elevation at every vertex.

Boundaries

A boundary limits where a surface has triangles. Use an outer boundary to keep the TIN inside the surveyed area, and a hide boundary to cut out a building, a pond or anywhere the ground wasn't surveyed.

  1. Draw a closed polyline around the area (PLINE, ending with C to close), or use a closed feature line.
  2. Click Surfaces ▸ Boundary (or type ADDBOUNDARY, alias SBOUNDARY).
  3. Press Enter for EG, or pick the surface.
  4. At Boundary type [Outer/Hide/Show/Data], choose the type (Enter = Outer).
  5. At Select closed polylines, pick them and press Enter.
Command line: Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]: C; Command: ADDBOUNDARY; Select surface to add boundary to <EG>:; then the prompt Boundary type [Outer/Hide/Show/Data] <Outer>.
Choosing the boundary type.
TypeKeyEffect
OuterOTriangles outside are removed.
HideHTriangles inside are removed: a hole.
ShowSInside a hide boundary, triangles inside are kept again (an island in a pond).
DataDIts edges are forced into the TIN and the surface is clipped to it; points outside are left out.

Boundaries clip exactly: triangles crossing the line are cut along it, with new vertices on the line. They're applied in the order you add them.

Contours of EG near the creek with a rectangular hole where a hide boundary was drawn: the contours stop at the rectangle's edges; a white diagonal line across it is a breakline drawn earlier.
A hide boundary cuts a 45 × 30 m hole in EG north of the road. The contours stop at its edge.

Contours as data

When the only ground data you have is an old contour map (digitized from a topographic map, or a DXF from a consultant), the contour lines themselves can build the surface.

  1. Make sure each contour polyline sits at its elevation (a polyline's elevation, not 0).
  2. Create an empty surface: CREATESURFACE, then E (Empty) at Build from.
  3. Click Surfaces ▸ Contours (or type ADDCONTOURS, alias CONTOURDATA), pick the surface and select the contour polylines.

Each polyline's vertices go in at its elevation, and its edges are kept. Terrace warns when some polylines are at elevation 0 (“check the polylines' elevations”): they are almost always contours whose elevation was never set. Feature lines can be added as contour data too.

Editing a surface

Sometimes the triangulation needs a hand: a bad shot makes a spike, an edge runs the wrong way across a ditch, a design pad needs raising. SURFACEEDIT changes the TIN directly.

  1. Click Surfaces ▸ Edit Surface (or type SURFACEEDIT, alias SEDIT).
  2. At Select surface to edit, click the surface or type its name (for example EG).
  3. At Edit surface [AddPoint/DeletePoint/SwapEdge/DeleteLine/RaiseLower/SImplify/SMooth], choose an edit and follow its prompts. After each one you're back at this prompt; press Enter to finish.
Command line: Command: SURFACEEDIT; Select surface to edit <Teresa Bypass Corridor Datum>: EG; then the prompt Edit surface [AddPoint/DeletePoint/SwapEdge/DeleteLine/RaiseLower/SImplify/SMooth].
Choosing an edit for EG.
EditKeyWhat you doWhat happens
Add pointAPClick a location, then type the elevation (the default is the surface's there). Click the next one.A new TIN vertex.
Delete pointDPClick near a TIN vertex; repeat.The nearest vertex is removed and the hole re-triangulated. The survey point itself stays.
Swap edgeSEClick near an edge.The edge between two triangles flips to their other diagonal.
Delete lineDLClick near an edge.The edge (and its triangles) is removed: for trimming outside triangles.
Raise/lowerRLType the change (negative lowers).The whole surface moves up or down.
SimplifySIType the largest elevation change allowed (default 0.05).Points are removed while the surface moves no more than that: fewer triangles, same shape.
SmoothSMType a grid spacing (default 5).The surface is resampled on that grid by natural neighbor interpolation.

After each edit the command line gives the new triangle count (“… triangles (was …)”). Edits are stored in the surface's definition and replayed, in order, every time it rebuilds, so they survive changes to its points.

Volumes between surfaces

Comparing two surfaces gives the earthwork between them: existing ground against a corridor top for a road, against a graded pad, or one survey against a later one to measure a stockpile or quarry. Terrace uses the composite (TIN-to-TIN) method: both TINs are merged and every prism between them is measured exactly.

  1. Click Surfaces ▸ Volume (or type SURFACEVOLUME, alias SVOLUME).
  2. At Select base surface (existing ground), press Enter for EG.
  3. At Select comparison surface (design), press Enter for the suggestion (a corridor's top surface when there is one, else the last surface built) or pick another.
  4. At Cut factor (swell) and Fill factor (shrinkage), press Enter for 1 or type your factors. Cut volumes are multiplied by the cut factor, fill by the fill factor.
  5. Read the result, then answer Keep the difference as a volume surface? [Yes/No].
Command line: Cut factor (swell) <1>:; Fill factor (shrinkage) <1>:; Volume EG to Teresa Bypass Corridor Top (over 25,256.05 m²):; Cut 17,977.45 m³ Fill 16,727.77 m³ Net -1,249.68 m³ (cut), 0 ms; then the prompt Keep the difference as a volume surface? [Yes/No] <No>.
EG to the Teresa Bypass corridor top: 17,977 m³ of cut, 16,728 m³ of fill.

Cut is where the base is above the comparison surface (ground to dig away); fill is where it's below (ground to build up). Net = fill − cut: negative means the job has more cut than fill (a surplus to haul away or waste). The area is the plan area where both surfaces have triangles.

Answering Y keeps a volume surface named VOL EG-Teresa Bypass Corridor Top. Its elevation everywhere is the comparison minus the base, so its contours (0.5 m minor, 2.5 m major) are lines of equal cut or fill depth, and zero is the cut/fill line. Like every surface, it follows both surfaces when they change.

Project browser: under Surfaces (4), EG, Teresa Bypass Corridor Top, Teresa Bypass Corridor Datum and the new VOL EG-Teresa Bypass Corridor Top.
The kept volume surface in the Project browser.

For volumes along a road by sections (average end area, DPWH pay items, mass haul), see Sections and earthwork.

Surface reports

Click Surfaces ▸ Surface Report with a surface selected, Report… in its Properties, or type REPORT and pick a report under Surfaces. Both save as CSV or PDF (see Reports).

Surface statistics lists points, triangles, minimum, maximum and mean elevation, 2D and 3D area, minimum, maximum and mean slope (the mean weighted by plan area), and the corners of the surface's extent, with the surface's build notes below.

Reports dialog with Surface statistics selected for EG, Existing ground from the topographic survey: Points 2145, Triangles 4104, Minimum elevation 42.740 m, Maximum elevation 74.870 m, Mean elevation 58.491 m, 2D area 284162.66 m², 3D area 284777.94 m², Minimum slope 0.06 %, Maximum slope 27.67 %, Mean slope 5.20 %.
Statistics of EG: 28.4 ha of ground with a mean slope of 5.2 %.

Volumes between surfaces gives cut, fill, net, area and the factors. Pick the Surface and the surface it is Compared with, or pick a volume surface to report its pair.

Reports dialog with Volumes between surfaces selected: Surface EG compared with Teresa Bypass Corridor Top; one row with Cut 17977.45, Fill 16727.77, Net -1249.68, Area 25256.05, Cut Factor 1.00, Fill Factor 1.00; note: Cut is where the base is above the comparison surface; net = fill - cut (positive: fill).
The volumes report for EG against the corridor top.

Point clouds and grids

Two more kinds of data make surfaces directly, and both are on the Surfaces tab as well as the Survey tab:

  • From Point Cloud (IMPORTLAS): a LiDAR or drone LAS/LAZ cloud, ground points (class 2) thinned to one per grid cell, becomes a TIN named after the file.
  • From Elevation Grid (IMPORTDEM): a GeoTIFF or Esri ASCII grid DEM (an IfSAR or SRTM tile, say) becomes a grid surface.

Once made, they behave like any other surface: Properties, styles, contours, volumes and profiles all work. The import dialogs are covered in Point clouds and Elevation grids.