Surfaces and Terrains

images\icon_surface.gif Surfaces are components similar to images in that they contain data organized as pixels. Surfaces are made up of numbers arranged in a regular array. Surfaces are imported from formats in which the data are organized in regular form, usually in a raster format similar to images. Surfaces differ from images in that whereas images save color or grayscale in the regularly organized data, the numbers in a surface normally will store elevations, temperatures or other abstract data.




Surfaces may also have Terrains created for them. A terrain is a 3D view of a surface. When a surface is imported a default terrain is created for that surface. Additional terrains may be created for a surface and each such terrain can have its own coloring and other characteristics. Creating an additional terrain for a surface does not require any more storage space since terrains are just different views into the one data set contained in the surface. An unlimited number of terrains can be created for each surface. If desired, the default terrain created for a surface may be removed so that the surface has no terrains.


Because surfaces are structurally similar to images they are imported into Manifold as components that have many characteristics that are similar to images. Surfaces will have commands available that are very similar to images. In particular, one can


·      Make selections in surfaces as in images using the pixels in surfaces.

·      Modify selections using Edit - Modify Selections .

·      Save and Load masks as with images.

·      Use many transform operators similar to those used with images.

·      Add a surface to a map as a layer .

·      Georegister a surface.

·      Print a surface.

·      Analyze a surface using Surface Tools or the Volume function in SQL.


By default, when a surface is opened it appears in a 2D window like an image.




The default settings used with surfaces provide a 2D visual image of the data set contained in the surface. By default, images are shown shaded with autocontrast. By changing Display Options they can change their appearance, for example to show simple grayscale or to be colored with a palette like the first illustration in this topic.




The illustration above shows part of a DTED Level 2terrain elevation surface from NIMA that is overlaid in a map with hydrology layers from the analogous VMAP Level 2 vector data set. The surface Surfaces may be used within maps as layers by dragging and dropping the surface into the map. Surfaces may also be copied and pasted as images, and those images can then be used as layers in a map as well.




When a surface is imported into Manifold, a Terrain for that surface is automatically created and placed in the project pane hierarchy under the parent surface. Terrains are components that provide a 3D view of a surface.


Data sets imported as surfaces usually are elevation data showing the height above sea level for various regions. Typical formats used for such data are NIMA's DTED or various DEM formats. However, we may use any regularly organized X,Y data set containing a third numeric value to be used as an "elevation." In general, any raster data set can be used as a surface.


Surfaces can be used for displaying terrain surfaces as well as for showing abstract data in gradient maps. See the Displaying Data in a Gradient Map topic for an example that shows demographic data displayed in a continuously varying gradient throughout the United States using a surface.


Some formats can be imported into Manifold either as an image (with File - Import - Image) or as a surface (with File - Import - Surface). When a surface data set is imported, a 2D image component will be created as well as a 3D terrain component.


We import a surface using File - Import - Surface. Manifold's importers can handle a wide array of formats with some overlap between the surface format importers and the image format importers. A few formats, such as USGS Digital Elevation Modules (DEM) can make sense either as surfaces, drawings (a field of points arranged in a regular grid), or images (with a palette applied to show a 2D image of elevations). Which component type is used for such data depends on its intended usage within the project. See the Import and Export topic for more information on specific import dialogs used to import surfaces.


Surface Windows


When a surface is opened in a surface window or appears as a layer in a map, the appearance of the surface is controlled by options in the View - Display Options dialog. By default, the surface appears as a grayscale image with shading and autocontrast. These options are suitable for images that represent terrain elevations. They may be modified to better show surfaces that represent abstract data, such as land use codes.




Note that although surfaces appear in windows like images and share many commands that may also be applied to images, they are not images. The appearance of the data within the surface window is controlled by the display options, some of which (such as slope or aspect) may involve computation. In contrast, the appearance of images within an image window is "hard wired" by the color values of the pixels.


If desired, a surface may be converted into an image by copying the surface and pasting it as an image. In that case, the colors in the image pixels will be taken from the display options currently set for the surface.




The image above shows the bathymetry of the Northern half of Lake Tahoe on the Nevada - California border in the United States. It was imported from an .e00 grid file as a surface and then copied and pasted as a detailed, 1995 x 3416 pixel image. The Invert command was then used to invert the grayscale in the image to give it a greater sense of depth.


Creating Surfaces


Surfaces are used for two main purposes:


·      To show terrain elevations or bathymetry.

·      To show abstract data such as population or temperatures as a continuously varying surface.


Surfaces showing terrain elevations or bathymetry are usually imported from pre-existing DEM or other surface formats since data sets for terrain elevations are usually so extensive that few users can create such data sets.


Surfaces showing abstract data are often created from drawings or tables. In this case, the drawing or table is copied and then pasted as a surface. The surface can then be colored with display options or seen in 3D as a "terrain." See the Creating Surfaces from Drawings and Tables topic for details.


Touch Selection in Surfaces


Touch selection in drawings will select the objects touched. In images, touch selection will select pixels within the tolerance setting in the Tool Properties pane. With surfaces the tolerance setting for touch selection is automatically set to be five percent of the overall height range. Clicking on a surface with height values that range from 1000 to 2000 at a point with a height of 1820 will select heights between 1770 and 1870.


Converting Data Types in Surfaces


Surfaces internally consist of a regular array of numbers. The numbers within surfaces can be any one of a variety of numeric types, either integers of various types (signed, unsigned, 8-bit, 16-bit, 32-bit or 64-bit) or single or double precision floating-point numbers.


The Surface - Convert To command allows conversion between different types of numbers within the surface.


Masks and Surfaces


Masks can be used with surfaces as they are with images. Saving a mask from a surface results in an image that is georegistered to the surface and that retains any selection that was made in the surface. This is a handy way of saving complex selections made in a surface as an alternative to using the Selections pane.


Using the Layers Pane with Surfaces


The Layers pane helps control the appearance of surfaces within surface windows. The layers pane includes checkboxes for two system "layers" - a background color layer and a border layer that shows an enclosing box about the height and width of the surface.


By default, surfaces are shown using the checkerboard background Manifold uses to provide a backdrop for any transparent regions. Checking the Border box in the layers pane will draw a one-pixel border around the height and width of the surface. This is a good way to see the actual extent of a surface that contains regions of invisible pixels.


Checking the Background box in the layers pane will replace the checkerboard background with whatever is the default background color. This is a good way to see the actual extent of a surface that contains regions of pixels that are the same color as the background (usually white).


Note that only maps can have true "layers" in Manifold in the sense that they can layer more than one component within the same map window. The border and background "layers" in the Layers pane for surfaces are not true layers even though they appear in the Layers pane in the same manner as do layers in maps. These are simply system controls that take advantage of the Layers pane as a conceptually convenient user interface.


Layouts and the Layers Pane


If a surface has any Layouts created they will appear as "layers" in the layers pane for that surface. Checking the box for one of these print layout layers will cause a layout rectangle to appear in the surface that shows the region covered by the layout.


Right clicking onto the hatched border of one of the layout rectangles in the surface will cause a context menu to appear with controls based on that layout rectangle. For example, we can Zoom to a given layout rectangle, Print it or change its Properties. If a layout is empty (for example, if the layout scope is set to selection and no pixels are selected in the parent surface) zooming to the layout will do nothing.


Use Tools - Options - Colors - Layout Rectangle to change the color in which layout rectangles are shown. The default color is black.


Tech Tip


The status bar will report the height of a surface at the cursor position when a surface window is open. When one or more surfaces appear in a map window, the status bar will report the height of the uppermost visible surface at the cursor's position.




See the Import a Raw Binary File - NLCD to see an example of a surface that shows data other than terrain elevation. The example shows a surface that represents data from the National Land Classification Data system.