Home Articles Developing Wireless GIS: Using Java and XML Technologies

Developing Wireless GIS: Using Java and XML Technologies

Hossein Mohammadi
GIS Dept., Faculty of Geodesy and Geomatics Eng.
K.N. Toosi University of Technology
Vali_Asr St., Mirdamad Cross, Tehran, Iran, 1996715433
Tel: +98 21 877 0006 Fax: +98 21 877 9476
Email: [email protected]

Ali. A. Alesheikh
Assistant Professor,
GIS Dept., Faculty of Geodesy and Geomatics Eng.
K.N. Toosi University of Technology
Vali_Asr St., Mirdamad Cross, Tehran, Iran, 1996715433
Tel: +98 21 877 0006 Fax: +98 21 877 9476
Email: [email protected]

Mehrnoosh Ghorbani
M.Sc. Student,
GIS Dept., Faculty of Geodesy and Geomatics Eng.
K.N. Toosi University of Technology
Vali_Asr St., Mirdamad Cross, Tehran, Iran, 1996715433
Tel: +98 21 877 0006 Fax: +98 21 877 9476
Email: [email protected]

1. Introduction
GIS is a powerful tool in decision making and managing processes in all affairs that are dealt with spatially-related data. Stand-alone and wired systems cannot reach life and work demands appropriately, specifically when it is needed to access the system independent from time and location. So, it seems mandatory to move towards ubiquitous systems, which can serve users anywhere and anytime. Manifestation of nouvelle technology of the servers and users overcome the common systems drawbacks.

Growing wireless capabilities create new horizons for serving nouvelle application through wireless network. Such an environment imposes a new set of problems for the development and deployment of applications, because it is based on devices far more limited than personal computers. In order to cope with such limitations, several efforts have challenged the construct of complete framework for the transmission of data over wireless network, and into small devices, while removing the restrictions and shortcomings. Additionally, GIS data usually have large volumes, and need modern techniques to be served through mentioned restrictions. Above problems cannot be solved only by providing special interface for handheld device onto conventional GIS. Some characteristics are handed down from web GIS to wireless GIS.

On one hand, the mobile devices and the communication system are developing very fast, on the other hand, the related software technologies including XML and J2ME accelerate the development of the wireless GIS. Arriving Java-enabled handheld devices, and feeding newly introduced formats such as XML into Java programs, make new opportunities to overcome the restrictions. In fact, Java acts as portable code and XML is portable data.

Benefits of using XML-based data format, is that, it provides an object-based data format, in which each feature can be analyzed as an object or set of objects, independent from other features. Object-based formats make less time taking for communication and less transferred data amount.

Developing in wireless Java (J2ME) provides flexibility to adapt many different platforms. Object-based data formats supply a spatially-suited data format. Combination of the two technologies introduces a powerful tool for serving spatial data through wireless network.

2. Wireless GIS
Not only GIS experts but also ordinary people tend to access spatial information using wireless environment. With the integration of the new technologies, GISs make new achievements.

The development of the handheld devices (such as PDAs, and Java-enabled mobile phones) and internet not only enlarge the applying field of the GIS, but also bring the new opportunity and challenges to GIS. GIS based on handheld devices, Mobile GIS, will become the new branch of GIS and bring the GIS into a brand new world [Yong, 2002].

Despite enormous benefits of using handheld devices; it meets the shortcomings due to wireless network. Mobile devices have restricted memory, less computational power, and there are no clear standards for wireless network, they have also less speed and stability. Additionally, there are no appropriate platform for sending dynamically spatial functionalities in a streaming manner over wireless network, no suitable spatial format due to data program amount restrictions and low capacity of mobile devices.

2-1 Ubiquitous GIS
In many daily scenarios, users can benefit from some aspects of ubiquitous GIService. They can receive a traffic alert, find the location of a colleague, and search for the closest restaurants [URL 1].

Recently, with the new challenges in the work and life, wired GIS cannot meet the demand of the users in many situations. Eighty percent of the whole information is spatial related data, most of mobile device users tend to access spatial information via wireless network. Wireless GIS is developed under web GIS technology, and there are many similarities between these two. But, wireless GIS has its own characteristics, because of the limitation of the mobile devices and the wireless communication network and technology.

2-2 Wireless Characteristics
As the power of phones, PDAs, and other wireless devices grow, the advent of an entire generation of wireless web is finally materializing outside the labs and professional circles and into the mainstream [Arciniegas, 2001].

Wireless and mobile devices have restrictions and shortcomings that differ from desktop computers in many fundamental ways. Additionally, GIS data to be served usually have large volumes and need modern techniques to be served through mentioned restrictions. Above problems cannot be solved only by providing special interface for handheld device onto conventional GIS [Takino, 2001]. To overcome mentioned obstacles, special architecture must be designed.

2-3 General wireless model
There are several significant features in the wireless model, become evident when it is compared with traditional web model (client/server model).The most important features are, Gateway. In this model, the client does not talk to server directly; and gateway is responsible for this task, also client forwards the request through gateway to final server, Encoding and compression of the data. The data are encoded by gateway to be passed to the client; gateway encodes original server response and sends it to client in compressed format better suited to the restrictions, and Type of content. The data provided by server is not of the same type as it is in the web applications (i.e. it is not HTML); for example data content is marked up in WML (Wireless Markup Language) (Figure 1).

Figure 1: General wireless model
Moreover, wireless GIS adds its particular characteristics to such model. To overcome low device power, thin client architecture must be implemented that takes most of GIS process burden from handheld device to server machine. Moreover, it is expected that busy transaction will occur as a result of frequent request from enormous number of users. A mechanism to resist heavy transaction load is required on server. In applying to practical use, operation management GIS run on workstation will be required. In summary, when realizing mobile GIS, supportive GIS management system based on backend server machine is more required than GIS application itself that is active on mobile device.

2-4 Basics of wireless GIS network
Internet workstation uses personal computer as a hardware device. This will allow heavy load process to be performed on client side. In other words, Internet workstation will execute user application on client machine based on distributed (Thick client) architecture, and will lower the workload on server machine.

But referring to mobile devices restrictions most of process load must be taken by server. On the other hand, mobile device only supports input/output process on the terminal, while application programs are stored on server side (Figure 2).

Figure 2: Distributed GIS (Wired and Wireless)
3. Spatial Data
XML is going to become an appropriate and reliable data content, in all services working with portable data. XML is a portable, text-based way of representing structured data [URL 2]. More and more applications are using XML to exchange information and wireless technology is going to need to process XML documents.

With any XML grammar, consideration has to be given to what exactly is being modeled. For textual formats, modeling is typically at the level of paragraphs and phrases, rather than individual nouns, adverbs, or phonemes. In recent years, standardization activities have been in vigorous progress to define geospatial data standard. The common discussion between these activities is to define GIS data feature as spatial object in real world such as road, river, house and so on. GIS data is a collection of varieties of feature data and it is better to be described in XML or XML Schema, due to its distributed (through Internet) inherent (Figure 3).

Figure 3: GIS data model
In conventional GIS system, geometry and attribute data are managed separately and linked to each other with unique ID. Although handling vast amount of GIS data, this mechanism enables effective enormous data process, because geometry data processing and text data processing are separately executed on optimized system for special purpose use. In describing feature data, XML encoding is flexible and comprehensible as an advantage point, but XML is weak from the point of data process and data transfer efficiency.

4. Portable Code
Java provides a robust programming language and environment. The mobile device is J2ME enabled allowing for the development of intelligent and thin applications for the devices.

J2ME is a new akin of Java family and a member of Java 2 platform. It specifically is targeted at applications, running on handheld devices. Many such devices have no option to download and install software beyond what was configured during the manufacturing.

J2ME technology addresses the significant number of resource-constrained devices. Unlike desktop and enterprise computers, whose programming needs are addressed by Java 2 Standard Edition (J2SE) and Java 2 Enterprise Edition (J2EE), the devices in the Micro Edition space are significantly varied in many aspects, such as how they perform networking, how they display information to the user and how they accept user input.

With the introduction of J2ME, “micro” devices no longer need to be “static” in nature. Like a web browser downloading Java applets, an implementation of J2ME on a device affords the option to browse, download and install Java applications and content. Small consumer electronics have a way of changing our lives. Mobile phones let the communication when away from home or office. Personal Digital Assistants (PDAs) let the accessing email, browsing the internet and running applications of all shapes and forms. With the introduction of Java for such devices, there is now access to the features inherent to the Java language and platform. That is, a programming language that is easy to master, a runtime environment that provides a secure and portable platform and access to dynamic content.

5. Implementation

5.1. Model
Selected model to fulfill the system consists of two main parts (client and server) and each part has its own modules. The client layer is not thick enough to implement all tasks independent from server and also it is not that thin.

The client/server architecture is medium client (neither thick nor thin) and partially can function using its modules. In this model, main database is stored in server side and for each request (It is tried to simplify the requests to decrease the burden on database) suitable data is selected, converted to XML and sent to the client. Client has a module to parse the XML content and a module to display the displayable part of the XML files (Figure 4).

Figure 4: Client/Server modules
5.2. Model Evaluation
To demonstrate how the introduced model works, some small parts of the city of Tehran has been selected and spatial and aspatial parts has been converted from common formats such as shape file (shp) to XML.

These regions’ names are listed in first page and user can browse the names and select a region to be displayed (Figure 5).

Figure 5: Listed regions to be selected
As it was mentioned before, in this model all processes, either spatial analysis or invoking XML-based map contents are carried out in server side and just a response in XML form is sent to client. XML parsers in client side interpret the XML content and an intermediate module displays the spatial or aspatial parts in the form of shapes and texts.

The intermediate module converts the coordinates and other characteristics to shapes according to the tags.

Selecting each region from the list sends a message to the server and server interprets the message and prepares an appropriate response to the request. This server side module has been written based on .NET technology and its task is to speak to the J2ME file, resides in the client side.

The J2ME-based module in client side (After first communication to the server a J2ME program called MIDP (Mobile Information Device Profile) is downloaded to the Java-enabled handheld device.) is equipped with an XML parser, using NanoXML libraries [URL 3] to parse the XML file, and its task is to send messages to server and read the XML-based response and display the contents (Figure 6).

Figure 6: Displayed map in handheld device’s screen
In this approach, main database resides in server side and when required, a small part is selected and sent to client side.

6. Conclusion
Spatial services are going to become the most significant part of wireless applications. With ever increasing speed of wireless technology, spatial systems users want to get more services from wireless system.

This case study tries to expose the potential of wireless technology to serve spatial services. Using XML technology, beside the power of Java in network programming made a powerful platform to develop distributed spatial systems.

This approach has many advantages. High performance and speed of Java, and less data volume and reliability of XML, make the system powerful. But, wireless applications deal with more restrictions. In addition to wireless network drawbacks, used device has lots of pitfalls. Not monitoring colored features in all devices, small screen size, limitation in memory (due to enormous spatial data and function volume), are some aspects of difficulties, with what the application encounters through developing process.

Applying some heuristics can be suitable to increase the performance and efficiency of the system. Making multi-scale data and displaying the data which are restricted to bounding view for each zoom (instead of displaying the whole data) will increase speed and performance efficiency.

Utilizing and parsing GIS-exclusive data handling structures such as GML leads to more capability and functionality in data development, specially in functions (such as querying and network analysis), in which more complex spatial relations and database management are mandatory.

7. References

  • [Arciniegas, 2001] Arciniegas A. Fabio (2001), XML: Developer’s Guide, McGrawHill
  • [Takino, 2001] Takino Shuichi (2001), “GIS on the fly” To realize wireless GIS network by java mobile phone, International Symposium on Asia GIS 2001.
  • [Yong, 2002] Yong, Lio (2002), Research of Mobile GIS Application Based on Handheld Computer, ISPRS Proceeding, Canada 2002
  • [URL1] Java 2 Micro Edition Wireless Toolkit: www.sun.com/products/j2mewtoolkit
  • [URL 2] Parsing XML in CLDC-Based Profiles: https://wireless.Java.sun.com/configurations/ttips/xmlparse
  • [URL 3] NanoXML (Micro Device XML Parse): www.nanoxml.com.