An Open Source Virtual Globe Implementation for Android
Total Page:16
File Type:pdf, Size:1020Kb
An Open Source Virtual Globe Implementation for Android Paulo Dias Almeida Jorge Gustavo Rocha Universidade do Minho Universidade do Minho Braga, Portugal Braga, Portugal [email protected] [email protected] ABSTRACT the appearance and popularization of a large number of so- A virtual globe is a 3D software representation of the Earth, lutions where geospatial and georeferenced data plays a key providing an intuitive interaction. The user can freely move role. Consequently, several efforts have been made to de- around by changing the angle, the position and the distance velop standards and services for the representation and pro- to the ground. The interface also provides the ability to cessing of geographic information. Along with these efforts, choose what to see on the globe surface (or near the surface). the need for a uniform and unifying medium for the visu- The user can switch between geographic features, natural or alization and interaction of this data became an obvious human-made features, abstract features like administrative priority. boundaries, or any other data that can be represented on the earth's surface. This data can be download and rendered on The appearance of virtual globe applications greatly con- top of the globe at run time. tributed to the increased popularity of geographic solutions and systems among the general public. This type of appli- Virtual globes have a number of key benefits as a platform cation allows the user to interact with a 3D multi-resolution for communicating and visualizing geospatial data over tra- representation of the planet, while integrating several types ditional mapping technologies, since they provide as true a and sources of geographic information. representation of the world as possible, without the usual limitations and deformations of projections. Virtual globes allow us to display geographic information on top of a virtual globe that mimics the earth surface. To- Despite these advantages, a complete, well supported, open pography information and terrain elevation, or 3D buildings source virtual globe solution is still missing for mobile plat- and city infrastructures are intuitively perceived when rep- forms. resented in a virtual globe. In this paper we discuss the implementation of a virtual Virtual Globe solutions also provide a uniform and famil- globe for mobile platforms. After an initial survey to identify iar interface for interacting with data from a wide range the best possible virtual globe technology, we selected an of sources and disciplines. For example, the digital terrain existing desktop project to port to the mobile platform. We model of a given area can be presented with integrated in- discuss the requirements and challenges of this virtual globe formation related to the topography of the terrain and com- implementation. The architecture and the implementation bined with weather data. All this information can be ex- decisions are presented. plored in a uniform manner. Since one of the major features of a virtual globe is the This growing interest on geographic applications resulted in ability to get data at run time from different services, we many applications for all platforms, but in particular, for also show how this virtual globe can be extended to consume mobile devices. Smartphones also have native devices for data from a Web 3D Service. In the same way, this globe positioning, so even more applications were built for these can be extended to consume other services. devices. There are many applications exploring geographic information and its positioning capabilities, but few virtual 1. INTRODUCTION globes. There is growing interest in the visualization of and inter- action with geographic information. Recent years have seen Mostly because until a few years ago this kind of applica- tion was almost impossible to provide a good user experi- ence. The limited capabilities associated with these devices meant that applications such as a virtual globe would have an implementation in mobile devices that was either impos- sible or extremely limited. However, in recent years we have witnessed a great increase in processing power, storage, and graphic capabilities of mobile devices, making the difference from a desktop plat- form progressively less significant. This opens the possibility cluded [5]. The DE is then introduced with the purpose of for the development of applications and functionalities that assuming the role of being a bridge between producers and have, so far, been impossible to implement in mobile devices. consumers of this type of information. A virtual globe appli- With these increased hardware capabilities, it became fea- cation, according to the concepts introduced, is composed of sible to develop a virtual globe with a good performance, two main components. A navigable 3D viewer of the planet, without removing functionalities and aggressive simplifica- available at various levels of resolution, and the mechanisms tions, and thus providing a good user experience. needed to integrate and present spatial information from various sources. In this paper we focus on the development of an open source virtual globe solution for the Android operating system. It Early examples of virtual globes following these concepts, is not an open source project in the limited sense that the were introduced by the Microsoft Encarta Virtual Globe source code is available. It is an open source project where encyclopaedia 1998 Edition [4] and by Cosmi's 3D World others can participate taking advantage of the git features. Atlas, released in 1999. In these applications the user was Public git based open source projects really changed the presented with a 3D model of the planet in which he could way we interact with open source projects. We don't need navigate the maps of various cities and view a set of multi- to write a private email to the author to request a feature media content associated with some locations. In these early or to report a bug. Every interaction is visible to all (no iterations implemented according to the concept of DE, de- need to report the same bug twice) and users can actively velopers proceeded to the implementation of local applica- provide new features, code improvements, etc. by issuing tions, both in execution and in relation to the data con- pull requests in the git terminology. sumed. However, nowadays, the term virtual globe is most commonly associated with client applications that consume This papers is structured as follows. We start by the oldest large amounts of geographic information through interac- known globes to the very best state of the art virtual globes. tions with various Web services. This type of application is From the state of the art open source solutions, we selected also referred to as geobrowser [6]. an existing project that meets all functional requirements. Since we were lucky to find an exiting open source solution This change started taking place with the development of for the desktop to start with, our methodology focused on the virtual globe Earth 3D Viewer by Keyhole Inc. Intro- the porting process. We describe in detail the challenges we duced in 2001, it was the first virtual globe based on the faced by porting a large application made for the desktop consumption of information provided by a set of servers dis- to the mobile platform. Finally, we provide a real example tributed globally. of how to extend the mobile virtual globe to consume data from a new service. This exercise is presented to help others Despite the significant popularity of this virtual globe among to enhance the virtual globe with new features. We close the organizations, especially among journalists, famously being paper with our closing remarks and outline for future work. used in the coverage of the invasion of Iraq in 2003, its ac- ceptance by the general public never reached very significant 2. VIRTUAL GLOBES levels. The most intuitive and descriptive representation of Earth The first online virtual globe to gain significant popular- is the globe. Early terrestrial globes emerged following the ity among the general public was NASA World Wind, re- establishment of the sphericity of the planet. Martin Be- leased in 2004. This project is being developed by NASA in haim's Erdapfel [3], created in 1492, is the oldest surviving conjunction with the open source community and provides example to modern times. large amounts of spatial information for various planets and celestial bodies. Thus, in addition to fulfilling the role of The interest in transferring this physical representation of geobrowser for the general public, it is also being used in the Earth to a virtual environment arises with the devel- scientific missions on land, sea, and space. The open source opment of the modeling language Virtual Reality Model- nature of World Wind, allowing for the expansion and cus- ing Language (VRML) [9]. This language was introduced tomization of the geobrowser through the development of in 1994 and had as its main goal the representation of 3D custom plugins, led to sharp growth of functionality and animated worlds via the Internet. With the introduction data availability. This characteristic openness to the com- of GeoVRML in 1998, the language is extended to allow munity is responsible for the unique potential of this virtual the representation of georeferenced information, thereby en- globe to aggregate a multitude of geographic information, abling the use of this language for the development of virtual public and private, providing access to information from gov- globes. However the great effort required in programming ernment institutions, industries, and the general public [2]. these globes, together with a growing evolution of 3D graph- ics that this language failed to follow, led to the decline of In 2005, after acquiring Keyhole Inc, Google launched Google VRML, and to the low popularity of the virtual globes it Earth, an updated version of Earth 3D Viewer.