Printer Friendly

Direct extraction of elevation values from Google Earth images.


Google Earth is a free web-based application which integrates digital images and digital information. [1] It provides an open source, easy to access and cost free image data that is needed by the map interest community. People can extract information from the satellite images obtained by digitizing areas understudy and transfer them for use elsewhere. [2] The usage of the image data covers many areas among which discovering the possible use of lands, the covering of remote areas on earth and the development of rivers and lakes over time.

Google Earth (GE) releases images in high spatial resolution that provide some potential for regional land use/cover mapping, especially for those regions with high heterogeneous landscapes. Images are either used to give additional data to collect the training or testing samples for land use/cover classification and validation or used as a visualization tool for land use/cover maps. [3] Another research paper discusses the study of the different agro-ecological zones in the Upper Ganga river stretch. Sites which represent the zones which are used in the river study are shown with GE images of their environments. [4]

In another application, paper [5] concludes that interpretation of GE images for fast evaluation of the extent of channels on large areas is a useful approach particularly where old, well developed channel systems are prevalent in agricultural/cleared land. The study showed that large shade cover in plantations and native forest precluded observation of channels beneath. Channels under forest shade could only be recognized on areas felled or burnt before the image was taken. Despite the limits, the use of GE images allowed the evaluation of channel extent over a very large area in relatively short time and at no cost for image acquisition. [5] The application of GE images in studying the water in rivers is discussed in the next subsection.

Overview of Ge Application in Rivers:

Remotely sensed image from satellite has the potential to provide crucial information to offer considerable advantages for the study of large areas, determination of current and circulation patterns, and monitoring of sedimentation, water productivity, and excessive richness of nutrients in a river. Repetitive remote-sensed data may be considered as having the potential to provide an alternative method for gathering and processing surface water quality information. [6] Remote sensing can be used to obtain an optical measure of water turbidity. [6] The information generated can be used as an important input in the water quality management. [6]

The advantages of remote sensing for assessing the water quality of a river are: collect data from inaccessible areas, measure observations which help to acquire quantitative as well as qualitative data, record data permanently and reproduce it at any time, replace costly and slow data collection on the ground ensuring that areas or objects are not disturbed, obtain information from large areas in a very short time and perform dynamic measurements which helps in monitoring change. [6] Next, the precision of the images which are obtained from GE images are assessed.

Accuracy Assessment:

Mohammed et al [2] estimate the accuracy of GE horizontal and vertical measurements so as to evaluate this free source of positional data. They carry out this by comparing the measured coordinates of 16 samples of checking points in GE with the coordinates of the same points as received on the geodetic Global Positional System (GPS) receiver. The Root Mean Square Error (RMSE) is computed for horizontal coordinates and is found to be 1.59m. For elevation measurements, RMSE is computed to be 1.7m. [2] The accuracy of GE images is acceptable and the positional data are useful in many applications.

Problem Definition:

For any research related to geography that needs to be complete, the exact location at which any measurement is taken should be known. That is to say, the Longitude, Latitude and Elevation data should be known. From GE, once a geographic path is drawn, one right clicks on the name of the path and selects 'Show Elevation Profile'. At every point on the path, the horizontal and vertical positions are known on screen. However when one downloads an XML file from GE which contains the descriptions of the place defined by the path. Inside the file a Path object is found that specifies the position of the each point on the Path (longitude, latitude, and altitude) [1] as shown in fig. 1.

Altitude is the height above sea level from which the earth surface in the 3D viewer is seen. It is constant for all Longitude and Latitude points. But, Elevation is the height above sea level of each geographic location. It varies according to position on earth. In many occasions, Elevation is the piece of information that is needed by scientists and not the Altitude. As shown in fig. 1, the Altitude is what one would find in an XML file but not the Elevation.

Many researchers have tried to find alternative ways to know the elevation at each horizontal position. One paper [7] proposes one method for generating DEM (Digital Elevation Model) by using online source of elevation data which is easy and free. The location under study is identified in GE, divided into thirty-six areas and marked using provided mark functions. The coordinates are exported to an online application tool named Terrain Zonum Solutions for extracting 5000 elevation points for each thirty-six areas. This tool is easy to understand and to use as it only requires some basic information such as the location (latitude, longitude) and numbers of points sampling. [7]

In another paper, a river drainage pattern is extracted from digital elevation data using D8 algorithm available within ArcGIS, hydrology toolbox. The area understudy is delineated by using ArcGIS 10 by the normal delineation procedure which is described in detail in [8]. Plugins like ArcSWAT and Hydrotools are then used to get the best results. [8]

A different solution is required so that the effort exerted to know another application other than GE is saved and the accuracy of positional data from GE is made use of.

Solution and Results:

A need emerges to find position data in 3D directly from GE. In this paper, we propose a method to extract directly the elevation data from GE. The rest of this paper is divided into three parts. The first deals with using Matlab[TM] to convert an image of the elevation profile in GE to a plot. The second part deals with fitting the data in the plot to an equation that would transform it to a plot of the elevation data. The third part concludes the results. In this section, names and variables are put inside inverted commas, while Matlab[TM] commands are put inside angle brackets.

Transform Image to Plot:

From GE, one starts with drawing a path over the place understudy which is the Nile River in this paper. As discussed before, an 'Elevation Profile' opens in the lower part of the 3D Viewer. To copy an image from GE, one goes to 'Edit' and then selects 'Copy Image'. [1] A copy of the 3D viewer can then be pasted and saved as an image file as shown in fig. 2. The image used in this study is captured on 4th of October 2013 and copied from GE on 8th of August 2014.

Matlab[TM] is then initiated to be used to perform the following steps as shown in fig. 3. The Matlab[TM] command [9]:

<image_i = imread('nile.jpg')> is used. 'nile.jpg' is an example of a possible name of an image file saved from GE. The command reads the image which is shown in fig. 2 in a three dimensional array 'MxNx3'. The first vector 'M' represents the positions of pixels along the x-axis. The second vector ' N' represents positions of pixels along the y-axis. The third vector represents color of pixels in RGB system of colors. The system defines the red, green and blue color components for each individual pixel. The output image is saved in an array called 'image_i'.

The command [9]:

<rgb = image_i(K,L)>

is then used. 'K' is an array that is a subset of the array 'N'. 'L' is an array that is a subset of the array 'N'. The command is used to cut a part of an image and save it. It is used to select the lower part containing the Elevation Profile of the image which is shown in fig. 2. 'K' specifies the range of pixels along the y-axis containing the elevation profile in the image 'image_i'. 'L' specifies the range of pixels along the x-axis containing the Elevation Profile. In this example, 'K' is defined to be the range 575:750 and 'L' is defined to be the range 289:1227. The selected part is shown in fig. 4. The output image is saved in an array called 'rgb'.

The command [9]:

<BW = roicolor(rgb,V)> is then used. First, it transfers the image from the RGB system to a gray scale image. Second, it selects a region of interest 'V' within an intensity image and returns a binary image. The gray scale is divided into 256 degrees. In this example, 'V' is defined to be the range 0:125. For each pixel in the image of fig. 4 (rgb), if the value of its gray color matches the values of 'V', the command replaces it with 255 (white) but if the value of its gray color is outside the values of 'V', the command replaces it with 0 (black). The output image is named 'BW' and is shown in fig. 5. Artifacts are seen in the shown image. They are erroneous pixels which don't belong to the line representing the elevation profile. An example of those pixels is shown in fig. 5 with a circle around them. Next, we try to remove these artifacts.

Following that, the command [9]:

<BW2 = bwareaopen(BW,P)> is used. It removes from the binary image 'BW' all connected artifacts that have fewer than 'P' pixels. In this example, 'P' is defined to be 4. The output binary image is saved in the image 'BW2'. 'BW2' is shown in fig. 6. No artifacts are seen in this image. Following that, the command [9]:

<[row,col] = find(BW2)>

is used. It finds out the location of all nonzero (white) pixels in the input image of fig. 6 ('BW2'). The indices of the nonzero pixels along the y and xaxis in the 'BW2' image are the output 'row' and 'col' arrays respectively. A plot of 'row' versus 'col' is shown in fig. 7. The 'row' array represents the order of the nonzero pixels and not the value of elevation at each point in the 'col' array. An equation is required to transfer the order of each pixel 'row' to its elevation value for each point in the 'col' array. Next, mapping the order of each pixel to a matching value of elevation is discussed.

Fit and Interpolate:

The commands [9]: <min>, <mean> and <max> are then used to find the minimum, mean and maximum values respectively of the 'row' array. The outputs are saved in an array called 'xx'. From the 'nilejpg' image, we can find the minimum, mean and maximum values of the elevation values as these are written in the upper left corner of the profile. The three values are stored in an array called 'yy'. The length of the whole path is also given in the image.

An equation is needed to match the data in the ' xx' array which contains the minimum, mean and maximum of the order of the pixels to the data in 'yy' array which contains the minimum, mean and maximum of the values of elevation. The command [9]:

<coef = polyfit(xx,yy,2)>

is then used. It finds the coefficients of a polynomial f(xx) of degree 2 that fits the data 'xx' to 'yy' using the least squares. The coefficients are stored in the array 'coef'. The polynomial is then used to find an elevation value for each order of pixel in the whole 'row' array.

The command [9]:

<elev = polyval(coef,row)>

is then used. This function uses a polynomial with the coefficients 'coef to calculate the output 'elev' for the input 'row'. The 'elev' array should contain the elevation values for each value in the 'row' array. A plot of 'elev' versus the length of the path 'Distance' is shown in fig. 8.

Discussion and Conclusion:

A technique is successfully used to extract elevation values from the elevation profile which is shown in GE. The technique is based on applying a serial of Matlab[TM] commands. Two main parts are explained in this paper. The first is concerned about transforming an image of a plot to a graph. The second is concerned with fitting the pixels numbering in the image to a matching elevation values. The two parts resulted in a plot of the elevation values for a part of the Nile River. The technique can be used successfully for any GE image.

Published Online 10 March 2015.

Received: 26 December 2014; Revised: 12 January 2015; Accepted: 12 February 2015


[1.] "Earth Help." Earth Help. N.p., n.d. Web. 20 Sept. 2014.

[2.] Nagi Zomrawi, M., G. Ahmed and M. Hussam Eldin, 2013. Positional Accuracy Testing of Google Earth: International Journal Of Multidisciplinary Sciences And Engineering, 4(6).

[3.] Qiong, H., W. Wenbin, X. Tian, Y. Qiangyi, Y. Peng, L. Zhengguo and S. Qian, 2013. Exploring the Use of Google Earth Imagery and ObjectBased Methods in Land Use/Cover Mapping: Remote Sens, 5: 6026-6042.

[4.] Bharati, L. and P. Jayakody, Hydrology of The Upper Ganga River: International Water Management Institute.

[5.] M.J., V.O. and R.A.M., 2011. Using Google Earth to map gully extent in the West Gippsland region (Victoria, Australia); 19th International Congress on Modelling and Simulation, Perth, Australia, 12-16 December.

[6.] Shivangi, S., K.P., S.N.B. and K.T.S., 2011. Water Turbidity Assessment in Part of Gomti River Using High Resolution Google Earth's Quickbird satellite data: Geospatial World Forum, Hyderabad, India; 18-21 January.

[7.] Noradila, R. and M.M. Rafee, 2012. Digital Elevation Model (DEM) Extraction From Google Earth: A Study in Sungai Muar Watershed: Geoinformation--Catalyst for planning, development and good governance, Applied Geoinformatics for Society and Environment (AGSE); 32-36.

[8.] Solomon, V., K.D. Nagesh and J. Indu, 2012. Extraction of Drainage Pattern from ASTER and SRTM Data for a River Basin using GIS Tools: International Conference on Environment, Energy and Biotechnology, Singapore, 33.

[9.] MATLAB[TM] version Natick, Massachusetts: The MathWorks Inc., 2009.

Ahmed M.D.E. Hassanein, Systems and Information Department, Engineering Division, National Research Centre, Dokki, Giza, Egypt.

Corresponding Author: Ahmed Hassanein, Systems and Information Department, Engineering Division, National Research Centre, Dokki, Giza, Egypt.

COPYRIGHT 2015 American-Eurasian Network for Scientific Information
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 2015 Gale, Cengage Learning. All rights reserved.

Article Details
Printer friendly Cite/link Email Feedback
Title Annotation:Research Article
Author:Hassanein, Ahmed M.D.E.
Publication:American-Eurasian Journal of Sustainable Agriculture
Article Type:Report
Date:Mar 1, 2015
Previous Article:Habitus of Ethnic Bajo Bungin.
Next Article:Micronutrient and compost induced changes of growth, yield, nutrient and phytochemical content of canola grown in saline soil.

Terms of use | Privacy policy | Copyright © 2018 Farlex, Inc. | Feedback | For webmasters