Development of digital terrain model

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.


With the advancement of communication technology and hardware in these recent years, Geographical Information System (GIS) applications have rapidly evolved to integrate Mobile GIS. Mobile GIS provide geographic information services from indoor work station or desktop system to field work application using mobile computing device such as hand phone and personal digital assistant (PDA). Although many applications such as navigation system and mobile tourist guide have been developed in Mobile GIS, the implementation mostly in 2 Dimensional (2D) based content. Since recent mobile devices attain the level of performance that makes them to be able to manage 3D graphics, bringing 3 Dimensional (3D) based content is highly preferable. However, the used of 3D in mobile devices still involves some troubles of performance and usability due to its limitation. Furthermore, the development of 3D terrain rendering for Mobile GIS which used Digital Terrain Model (DTM) adding more constraint. In this paper, the development processes of rendering terrain on mobile devices are explained. The development consists of several processes. First, the data need to be loaded and then normalized. Later, backface culling is executed using the normalized data to identify the visibility of polygon face. Finally, the data is rendered on mobile device. Experiments were conducted using several terrain datasets derived from aerial images to___. The results from these experiments showed that rendering DTM data of 836 triangles is between 3-4 frames per second (fps) while frame rate within 1-2 fps is the result using DTM data of size 3108 triangles. Furthermore, the appearance of the surfaces is a little unrealistic on the device than on the computer and needs to be improved. Future expansion of this implementation will consider the integration of GPS feature to add functionality for future mobile GIS applications such as navigation and land surveying.

Keywords: Mobile Device; Terrain Rendering; OpenGL ES; Mobile Rendering; Mobile GIS


Throughout recent years, GIS applications and technological trends have improved constantly starting with mainframe computers to various other GIS from stand-alone desktop computers GIS, local networking GIS, Web GIS and to the latest, Mobile GIS. Mobile GIS is the used of geographic data and functions in the field where maps are displayed and processed on mobile devices such as Personal Digital Assistants (PDAs) and Web-accessible smart phones [ni buku Peng]. Mobile GIS is a combination of one or more technologies such as mobile devices, Global Positioning System (GPS), wireless communication and GIS software that integrated together. Mobile GIS makes possible the ability to access spatial and information at any time and place. In spite of the advantages of Mobile GIS, most of its applications are in 2D. Since 3D based application are more perceivable and attractive to viewers than 2D [advance 3d games], research towards 3D based applications for Mobile GIS are indeed important.

Since the later 1950s, Digital Terrain Model (DTM) has been used in many applications mainly in the area of simulation, visualization, games and Geographical Information System (GIS) applications. DTM is one of the major concepts in representing terrain surface. DTM as defined by Miller and Laflamme, is representations of continuous surface of the ground by a large number of points consist of x, y, z coordinates in an arbitrary coordinate field [buku ijau] and are obtainable via satellite, stereoscopic aerial images and contour data from geographical maps before it is saved as a certain file format.

Recent mobile devices are able to manage 3D graphics due to the programmability and usability that have been greatly enhanced by the continuous improvements of its hardware and software capabilities. Despite the improvement, mobile devices still have limitation in their capabilities like small screen sizes, low-bandwidth, colour resolution limited processing power, small memory, critical power consumption and its limited application capabilities [Evolution of 3D games, Jong-Woo Kim]. Moreover, rendering DTM on mobile device has its own issues and constraint. The major problems encountered are massive terrain data and the appearance of the terrain surface. Therefore, some consideration and issue need to be focuses for the development of terrain rendering for Mobile GIS.

This paper will discuss the development process for rendering DTM on Mobile GIS. Through the development process, a prototype of terrain visualization on mobile device is developed using OpenGL ES running in HTC TyTN II mobile phone. General development process of rendering terrain dataset for mobile GIS will be described followed by the explanation of the development.


3D graphics rendering on mobile devices is still considered a difficult task even though with the evolution of mobile devices. Research has been done in the area of mobile rendering mostly for 3D games and 3D applications. Previous work on 3D rendering of terrain involves placing pre-computed blocks of terrain together with Perlin noise to represent random terrain on resource limited device [6]. Perlin noise is used to generate a pseudo-random appearance of natural effect. Using this effect is only a subsection of the terrain and it is stored in memory at any one time. This method reduces the amount of memory required for terrain storage.

Joachim and Jean-Eudes [4] proposed multi-resolution representation using strip mask for adaptive rendering of each visible tile. This method saved CPU and memory consumption by transferring the load on 3D graphics device. Method which consists in drawing a planar shadow under each tile is proposed to handle cracks that occurred because of the difference of mask level between two adjacent tiles. The planar shadow is made of two triangles and texture-mapped with the same texture. However, even though this technique is fast and simple to implement, it is not perfect and fails in some cases.

Few years later, Jiang Wen et. al. [5] proposed a multi-resolution modeling to represent terrain based on quad-tree. Terrain is divided into regular tiles and represented by hierarchical quad-tree data structure. Then, level-of-detail of each tile is computed and generated dynamically by subdividing based on a set of criteria. The subdivision is according to terrain where fluctuant area is refined and even area is represented by coarse mesh. To eliminate cracks, triangles which are lie on boundary of coarse resolution tile are divided compulsively. This method to handle cracks is still not perfected yet but it is fast and simple to implement. The method proposed has frame rates between 7 to 8 fps by simplifying rendering scene rely on the surface of terrains but the method would not be very effective in mountain area.


In developing terrain rendering on mobile device, it involved several processes.

  • Loading the dataset
  • Data calculation for normalization.
  • Backface culling for identifying the visibility of polygon face and to remove all the faces that pointing away from the viewer.
  • Rendering process on mobile device.

After initializing the program, the data will be loaded into the memory. Using calculation for normalization, the data is calculated to find the normal vector. Later, backface culling is executed to determine the visibility of polygon face and the removal of all faces that cannot be seen by the viewer. Finally, the data is rendered on the mobile device. Figure 1 shows the processes of terrain rendering on mobile device.

In the next section, the implementation of the general process in terrain rendering and rendering pipeline of graphic API are described.


The implementation of this prototype used 3D graphic API for 3D rendering and effects. As has been mention previously, this prototype will be running in a mobile device.


OpenGL for Embedded System (OpenGL ES) is an open standard low level-rendering API to enables true 3D graphics and effects for embedded systems such as mobile phone, PDAs and video game consoles. In the development of terrain rendering on mobile device prototype, OpenGL ES v1.1 is implemented.

OpenGL ES v1.1 is launched in mid 2004 which emphasized in hardware acceleration which provides enhance functionality, improved image quality and optimizations to increase performance while reducing memory bandwidth usage [7]. It is defined relative to the OpenGL 1.5 specification with some modification. A change that has been made in creating OpenGL ES is the removal of some of the classes and APIs which are expensive for the mobile device. It also introduced a smaller data type support for fixed-point arithmetic [8]. These modifications are needed to allow OpenGL to be used on low-power, relatively limited capability devices.

OpenGL ES v1.1 implements a fixed function pipeline and it is backwards-compatible with v1.0. A diagram of OpenGL ES 1.X fixed pipeline in Figure 2 shows various pipeline components.

OpenGL ES v1.1 was installed in the mobile devices for the preparation of implementing 3D graphics and effects on mobile device. This step is prearranged before the implementation prototype is released on the device.

Slices of code were taken from main.cpp file for easier explanation. First, the data is loaded and the calculation for normalization of each vertex is executed. Then, general state of application is initialized for rendering object. The initialization covers the lighting properties and the state of object rendered. The data that has been normalized is defined in the initialization with backface culling enabled. Enabling backface culling will determines the visibility of a polygon of the terrain. Figure 3 shows the initialization code.

After the initialization, the object is rendered using the data supplied which is the vertices, normal and indices of the object. The code for rendering the terrain data shows in Figure 4.


The terrain dataset involved several aerial images of Sungai Kinta region, Perak, Malaysia, near the Banjaran Titiwangsa taken from year 1981. Several pre-processing stages need to be run through by these images, before the data can be used as an input to the prototype. This is to make sure that the raw data is processed to be completely ready and suitable as an input.

Generation of Digital Terrain Model (DTM) and triangulated to create the mesh of the terrain surface is generated using ArcGIS software. Vertex points for each of these images were obtained at the end of this process.

Afterwards, the vertex points are rearranged into a Triangulated Irregular Network (TIN) based file format and stored in a text file. The text file is loaded in the memory disk of the mobile device where the prototype will be running. Figure 5 shows the aerial image for Data 1 while the arrangements of several vertex points in a TIN based file format as illustrated in Figure 6 is from the same image and will be loaded to mobile device.

Two datasets are used as an input for the experimentation. Detailed properties for both datasets are revealed in Table I.

Mobile Devices

Released in 2007, the HTC TyTN II is a Windows Mobile Pocket PC Smartphone designed and market by High Tech Computer Corporation of Taiwan. The most important specifications of the HTC TyTN II are listed in Table II.


This paper discussed the experimentation of terrain rendering on mobile device using two different data with the mobile device. The results of the experiments and discussion are based on frame per second and appearance measured between computer and the device.

Frame per Second

The experiments were conducted based on data that was explained in Table I. These results are obtained from running the experiment on HTC TyTN II mobile device. The result of the frame rate for rendering Data 1 is between 3-4 Fps whilst frame rate within 1-2 Fps is the result after running the prototype using Data 2 as an input. Figure 4 shows the results of the experimentation on a HTC TyTN II mobile device.

Based on Figure 7, the speed frame rate from Data 1 is much higher than Data 2. As explained in Table I, Data 2 have approximate 271.77% triangle and about 255.22% percent vertices more than Data 1. Additionally, Data 2 has occupied about 443.75 % space in disk more than Data 1. From results observation, Data 2 is the largest in overall and this lead to the outcome of the results shown in Figure 7 where the frame rate of Data 2 is lower than Data 1. It is also to imply that Data 2 rendered slower than Data 1 in 100%.

Terrain Appearance

A realistic and accurately smooth terrain is important in some of the visualization applications mainly in computer graphics applications. In this paper the appearance is measured by comparing the result on the mobile device with desktop computer using the same datasets. The results on both from the device and computer are similar in terms of overall appearance. The terrain surface on the device looks a little unrealistic when compared with terrain surface on computer because of the differences in resolution. The resolution for the computer is 1280 x 800 while the device has a resolution of 240 x 320. Figure 8 illustrate results for Data 1 on both computer and mobile device whilst the results for Data 2 are shown in Figure 9.


In this paper, the implementation and testing of terrain rendering on mobile device is described. By using two different terrain data, the results shown that without any optimization technique, rendering an adequate size terrain data is quite tedious because of the limitation in mobile device such as memory capacity and low CPU speed. The frame rates are too low for rendering terrain of only 3108 triangles. Moreover with the nature of terrain data that is complex and large, local rendering on mobile device is still far from achieving the acceptable frame rate and appearance.

Future work will involve finding a suitable method or technique that can render large terrain on mobile platform with an acceptable speed of frame rate and more realistic appearance [9]. Towards this goal, level of detail (LOD) should be implemented.


The author wishes to convey their innermost gratitude and appreciation to Malaysian Ministry of Science, Technology and Innovation (MOSTI) under ScienceFund grant and RMC UTM for providing financial support of this research and manage by UTM under Vot number 79321.


  1. D. Luebke, M. Reddy , J. D. Cohen, A. Varshney, B. Watson, and R. Huebner, "Level of Detail for 3D Graphics Morgan Kaufmann Publishers", San Francisco, USA, 2003.
  2. F. Chehimi, P. Coulton, R. Edwards, "Evolution of 3-D games on mobile phones", proceedings of the IEEE Fourth International Conference on Mobile Business, Sydney, Australia, 11-13 July 2005
  3. F. Chehimi, P. Coulton, R. Edwards, "Advances in 3D graphics for Smartphones". In: Proceedings of international conference on information and communication technologies: from theory to applications, Damascus, Syria, 24-28, April 2006.
  4. P. Joachim and M. Jean-Eudes, "Adaptive Streaming and Rendering of Large Terrains using Strip Masks", in Proceedings of the 3rd international conference on Computer graphics and interactive techniques in Australasia and South East Asia Dunedin, New Zealand: ACM, 2005.
  5. J. Wen, B. Zhu, and F. Wang, "Real-Time Rendering of Large Terrain on Mobile Device", in The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. vol. XXXVII. Part B5. Beijing 2008.
  6. D. Marshall, D. Delaney, S. C. McLoone, and T. Ward., "Representing random terrain on resource limited devices". In CGAIDE 2004 Int. Conf. Computer Games: Artificial Intelligence, Design and Education, 2004.
  7. The Khronos Group, , Last accessed Jan 25, 2010.
  8. D. Astle, D. Durnil "OpenGL ES game development", Thomson Course Technology, ISBN: 1592003702, 2004.
  9. M. S. M. Rahim, A. R. M. Shariff, S. Mansor, A. R. Mahmud, and D. Daman, "A Spatiotemporal Database Prototype for Managing Volumetric Surface Movement Data in Virtual GIS", in Computational Science and Its Applications - ICCSA 2007, 2007, pp. 128-139.