As you have seen, there are a number of inherently different ways of representing elevation data: grids, points, TINS, contours, etc. For each one of these data types, there are multiple file formats that can be used to save and exchange them.
Elevation data can be a simple collection of XYZ points, often called a point cloud when the points are numerous and very densely spaced, as with lidar data. Point data is conceptually simple; however, it is often advantageous to attach a large number of attributes to each point, in which case, the file structure can become very cumbersome very quickly. ASCII and SHP work for small datasets, but are very inefficient for large numbers of attributed points.
- Esri SHP
- LAS - a binary point-based data format, maintained by ASPRS, designed specifically for lidar datasets contains millions of points with numerous attributes.
Digital Elevation Model (DEM)
A DEM is a raster, just like an optical image, so it can be stored in many of the common image formats described in Lesson 4. The important difference is that each cell in an image raster usually contains a discrete integer value (for example, in an 8-bit image, each cell contains an integer value from 0 - 255), whereas elevation values are continuous and can be expressed with decimal places appropriate for the accuracy of the data. Elevation rasters, therefore, are defined to store floating point values rather than integers.
Commonly encountered raster elevation formats, previously described as image formats, are:
- TIF and GeoTIF
- Esri GRID
- SID - While it is possible to store elevation data in the compressed SID format, I have honestly never been given one or seen SID format specified as a deliverable in a civilian or commercial project. One would want to be careful about using compression on a DEM, because any alteration to the original pixel value (in lossy compression) would affect the spatial accuracy of the dataset and could potentially change results of spatial analysis.
Common raster formats specifically designed for elevation data only are:
Both of these formats are used for specific data products that meet USGS or NGA product standards; post-spacing, accuracy, and collection methods are prescribed in addition to the format of the file itself. These formats are only used for these USGS and NGA products; they are not generally used for more generic elevation datasets.
Digital Terrain Model (DTM)
A digital terrain model consists of 3D points and 3D breaklines. There are a number of CAD data formats, such as AutoCAD DXF and Microstation DGN, which hold both point and line data in a single file. This is less common in GIS, where files are normally restricted to one type: either point, line, or polygon. Geodatabases can contain multiple feature classes to accommodate these multiple topologies.
Digital Surface Model (DSM)
A DSM is a special case of either a point cloud, a DEM, or a DTM; the difference is whether the elevation surface represented is bare ground or if it contains above ground features. Data formats used for DSMs are the same as for point clouds, DEMs, and DTMs described above.
Triangulated Irregular Network (TIN)
TINs are an efficient representation of terrain for visualization and analysis, but they are most efficiently used when generated on-the-fly and stored in random access memory (RAM). Points, DEMs, and DTMs can all be used to generate TINs, and there are many different TIN generating algorithms and data formats; some are open source but many are proprietary. It is quite uncommon to see a TIN specified as a deliverable product; therefore no specific TIN formats are presented here.
Breaklines are 3D lines, and they can be represented in any number of common 3D polyline formats, such as:
Contours are isolines of elevation; a single contour line has the same elevation value everywhere. Historically, contours were often stored as 2D lines, with the elevation added as an attribute or label. That approach makes it very difficult to do any kind of 3D analysis on a contour layer; therefore it is most common today to find contours in the same 3D polyline formats described above for breaklines.