ASP Component Based WAP GIS

School of Computing, National University of Singapore
Li Yue
Xie Zhong
Date: 2001-9-18
E-mail: xiezhong@public.wh.hb.cn

Abstract

This article introduces an ASP component based WAP GIS solution, using a Chinese GIS platform MapGIS[17].

Key words:
WAP,WML,WBMP, ASP, MapGIS

1. Background

With the emergence of WAP technologies and WAP-enabled mobile phones, a new application area for current Web GIS (Geographic Information System) solutions comes out.That is to use the Web GIS techniques in the WAP world. This is to maximally leverage the advantages of the mobile capability provided by the WAP [14]. The difference between using Web and WAP GIS can be seen as followings:

First, in general application terms, using GIS in a mobile world is more promising and applicable than using Web GIS in the desktop, though the purpose of using the two is somewhat different. To the majority of us, we do not need a full-ranged, professional GIS service and software, which can be provided by the Web GIS. We just need a little, a little but very applicable use of GIS information for us is enough, that is --show us what we want to know and guide us to there at anytime, anywhere we want them.

For example, everyone has the experience of wondering nowhere to go for a lunch in a place he is not familiar with? It is also boring to keep asking strangers questions like Where is what, and keeping switching buses to get there? Or sometime we just feel nothing to do and want some fun? It's true to every one of us, that we all in some time have the need to know the questions like Where are and How to get to some place, even for fun.

Traditionally, we use maps to satisfy us, but carrying a map everyday and everywhere is actually cumbrous, old-fashioned, and not attractive at all. It also looks silly if you carry a map of your own city everyday. Just as the GIS generated e-maps has the advantage over the traditional maps, Web GIS, a GIS application for Internet/Intranet usage, can easily help people to find their destination in a dynamically generated maps, and simultaneously gives some more-detailed information of them. This is really a great progress, but it's just not good enough. A PC or laptop can not be used to get access to a Web based GIS site anywhere at anytime. A desktop based Web GIS can give you detailed information and a lot of graphics and instructions, but it can't move with you, it's not mobile and it can never offer you a guide at anywhere at anytime you need. So there comes out of WAP GIS, a mobile GIS solution for everyone.

2. Techniques for a WAP GIS

With the emergence of WAP (Wireless Access Protocol), the sequential WAP programming language WML[12], and WAP supported mobile phones, pagers and PDAs, it's now possible for us to develop a new mobile-based-GIS solution through the WAP, or we can give it a new brand-WAP GIS.

2.1. Current Solutions

The new frontier: Market leaders Autodesk, ESRI, MapInfo, Intergraph are on the front edge of mobile GIS technologies.

1) Autodesk, Autodesk GIS Design Server, OnSite helps companies deliver interactive maps, design information, and business forms to mobile devices. It includes a Java servlet that passes requests from field workers to map and design databases and adapts the resulting location-based data objects for display on smaller, mobile screens. The Autodesk OnSite client includes a user interface on the point-of-work device, often a handheld unit such as the Compaq iPaq or Fujitsu PenCentra tablet. Rather than simply delivering flat raster files to the field, OnSite delivers vector images along with their attribute data. Users can query, sketch, redline, and annotate design drawings and maps[2].

2) ESRI, ArcIMS and ArcPad: Mobile data is served up over the Internet using ArcIMS, an Internet GIS Web server that supports thousands of concurrent requests and millions of daily requests. ESRI's ArcXML handles geographic requests and data transfer between the server and clients such as mobile phones and pagers. In the field, workers access mobile applications using ESRI's ArcPad. Sensitive to the need for smooth data transition across varied devices, ArcPad technology displays the company's standard shapfile format and several other popular data formats, such as JPG, MrSID, BMP, and CADRG raster maps. The product also works on Pocket PC for Windows 95/98/NT/2000 [3].

3) Intergraph's IntelliWhere, to serve up its mobile GIS offerings, Intergraph recently launched IntelliWhere. These solutions are open and scalable (supporting multiprocessor, multiserver distributed environments) and leverage the architecture of Intergraph's GeoMedia technology, specifically the GeoMedia WebEnterprise product. GeoMedia uses the industry-standard WAP (wireless application protocol) to serve map images and accompanying location-based information. Microsoft's COM (component object model) architecture lets you use Web Enterprise objects in common Web development paradigms such as ASP with VBScript[4].

4) MapInfo's approach to the mobile Internet , miAware platform. miAware provides a concise, consistent, flexible and scalable XML environment for the creation of new services. miAware is comprised of core MapInfo servers, XML APIs, and a series of location services-specific functions. miAware core technologies include: 1). MapInfo ® MapXtendtm, MapInfo MapXtend is a development environment for creating wireless applications. MapXtend takes advantage of Sun's Java 2 Enterprise Edition and Java 2 Micro Edition technology to deliver robust capabilities to the handset on a highly scalable and versatile platform. 2). MapInfo ® MapXtreme ® Java Edition, MapInfo MapXtreme Java Edition provides two critical functions: first, it enables proximity queries (such as nearest and within "x" distance); second, it combines content with geographic information and delivers the two together on a map to a mobile device[5].

2.2 Why choosing ASP COM model for a WAP GIS solution?

Two years ago, I designed an ASP server component called MapIMS for Web GIS applications using MapGIS[16,17]. Web site programmers can use MapIMS in their server-end ASP script to access the GIS database(graphics and attributes), just in the same way they use ADO in their ASP scripts to access common database. This is very convenient for them because using the methods and attributes of MapIMS can satisfy most of the GIS-related functions. MapIMS works by choosing maps and performing operations according to the clients query, and finally converting the GIS vector graphics into GIF format images, which can be understood by the HTML.

ASP generated standard HTML codes, so users can view the GIS web site directly with their browsers. The ASP COM based Web GIS solution is a typical "Thin-Client/ Fat-Server" structure, which has almost no requirement on the clients' end. This is very important for the WAP service. Mobile phones or PDA generally have only limited computing capability and memory, and the bandwidth of wireless communication is narrow, so it's very difficult for them to download an ActiveX control or Plug-in or Java Applet to implement any client-end task. The nature of WAP and WAP phones determines a "Thin-Client/ Fat-Server" structure must be adopted in the development of WAP services. An ASP Component based WAP GIS solutions is just of such a kind.

ASP can also generate WML codes, so the whole architecture and application of a ASP web GIS can be transferred to WAP field, except the output changed into WML and WBMP[11]. However, it's certainly not enough, some special functions must be designed for WAP service.

3. Implementation

3.1 Structure and work procedure of the ASP WAP GIS system

The Structure and work procedure of the our ASP WAP GIS system can be illustrated by the figure 1 below:

Fig 1. Structure and work procedure of the WAP GIS system

The logic flow of the service can be illustrated as follows:

1) The user presses a phone key that has an URL request assigned to it;

2) WAP Gateway changes the WAP request into standard HTTP request;

3) Web server answers the HTTP request from the WAP gateway, and executes the ASP pages accordingly. The ASP pages in turn create and use the server GIS component methods;

4) The server GIS component accesses the GIS database and performs operations such as creating WBMP image of a place or bringing out attributes or points' names;

5) The server-end ASP pages was executed and converted into standard WML language;

6) Web Server sends the WML page and/or if applicable the WBMP image back to the WAP gate way through HTTP;

7) WAP gateway convert the HTTP data stream into WAP and send them back to the mobile phones users;

8) Mobile users can browse the feedback result and continue or exit the WAP service;

Actually, it's very similar to the "old-fashioned" browser/server structure. The only difference is in the front-end, where a mobile phone and WAP gateway together act, at some degree, as a typical web browser. The back-end, including the Web server, ASP, ASP component and GIS database server, is almost the same with our earlier ASP COM based Web GIS, except that the ASP creates WML decks instead of HTML pages and the server component creates WBMP images instead of GIF.

3.2 ASP Component mMap Implementation

We use VC++6.0 to design our server component. The GIS platform is MAPGIS[17], a Chinese GIS platform. We use the functions provided by the MAPGIS software to realize our GIS functions.

The ASP WAP componet mMAP has 3 basic ASP Objects inside, as shown below.

Fig 2. mMap (Partial)

Map has properties and methods related with the maps, and projects:

Image has the functions of displaying, both WBMP and GIF format of the vector maps.

Found takes charge of tasks like searching, attributes retrieving, etc.

3.2 WAP design environment

Before we actually use a mobile phone and WAP gateway to realize our application, we need first to have a simulator tool for the design works. The WAP simulator environment of us is UP-Simulator[7], Nokia Toolkit 1.2.2[8], IIS and the operation system is Windows2000 server.

3.3 An ASP script example using mMap for WAP GIS application

The following figures are the result of the two pages below:

Fig.3 Sample result

1) "Init.wml"

Step 1 and Step2 are generated by the "Init.wml" page. It first displays a logo of our company, then lists the choices for you.

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="card1" ontimer="#card2" title="My WAP Page1">
<timer value="20"/> <p>Hand Guide!</p>
<p><img src="./image/logo.bmp" width="150" height="60" alt="cug"/></p> </card>
<card id="card2" title="Second Card">
<p><select name="Class">
<option value="EastChina.wt">East China</option> <option value="SouthChina.wt">South</option>
<option value="WestChina.wt">West</option> <option value="NorthChina.wt">North</option>
<option value="MidChina.wt">Mid</option> </select> </p>
<p><anchor title="next!">Next
<go href="TypeChoice.asp" method="get"><postfield name="ClassValue" value="$(Class)"/></go></anchor></p>
</card></wml>

2) "TypeChoice.asp"

Step3 is the result of an ASP page. The "TypeChoice.asp" page created a GIS server component MMAP, and use the function of it. MMAP then fetches the points name according to the users' request.

<% Response.ContentType = "text/vnd.wap.wml" %>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="card1" title="My WAP Page 2">
<p>Your Choice is "<%=Request("ClassValue")%> China" </p>
<%PntPath="c:\map\ " PntFile=PntPath& Request("ClassValue")
'GIS server component created
Set map=Server.CreateObject("MMAP.MAPGISIMS.1")
' Points get
ai=map.FastOpenFileArea(PntFile)
s=map.GetAllPnts(ai)
map.CloseArea(ai)
'Results displayed
response.write("<p>s="&s&"</p>") %></card>
</wml>

3.5 WAP GIS preparations

When designing your WAP GIS services, a lot of works will be centered around the planning, designing, preparation, and classifying of GIS database. So the WAP contend providers should have a clear plan of the classification of the GIS data and what attributes to be attached with graphics and points. This work is the base of a successful WAP service and should be done with a carefully design. Consider the specialty of WAP, the classification should be as easy-to-use yet applicable as possible.

3.6 Some Considerations in developing a WAP GIS solution

Here are some considerations of us in developing a WAP GIS solution:

1) Considering the limited screen and capacity of mobile phones, a WAP GIS should not to be too complex, the functionalities and the needed flux should be reduced to the minimum acceptable amounts;

2) A mobile is not a computer, so never make the operations too complex, it will frightens all the potential users if they have to press the buttons 15 times to get a result or an instruction. All the operations should be limited in a few steps, best, no more then 5 steps, and with an easy way of escape at every step;

3) We all know that using a mobile to type something is very inconvenient, so try to avoid using INPUT tag in your WML pages, use the SELECT tag as an alternative.

4 WAP GIS Functions

4.1 A general idea of WAP GIS functions

WAP GIS functions, in general, are guiding. They include retrieving GIS information, locating the clients, and sending back the Geographic information to them. If the GIS database is big enough, users can guide themselves any where in the world, with just a WAP phone. And as the services and technologies, the bandwidth, the phone storage and intelligence, and transmission speed improve, it will be even more promising. When combined with a GPS chip, it would provide a professional tool for the professional users as well.

4.2 WAP GIS functions

The following functions are functions we have implemented with our ASP Component.

1). Street/Address Finding (directly):

Type the address or the street name you want to find, press the "OK" button to send out your request, and wait for the text or the map to be shown.

Below is a step-by-step illustration:

Fig4. Street/Address Finding (directly)

The result is a dynamically generated map centered by the wanted-spot's position, if found, with an acceptable radius corresponding to the map size. In the step3 if you choose "Infor", it will display a text introduction of "China University of Geosciences" instead of a map.

2). Find a place through a predefined hierarchy by Selection operations. (Hierarchy Finding)

Below is a step-by-step illustration:

Fig5. Hierarchy Finding

The result is a dynamically generated map centered by the wanted-spot's position, if found, with an acceptable radius corresponding to the map size.

The following is a demonstration on Nokia Toolkit1.2.2:

Fig6. Nokia Toolkit WAP GIS demostration

After choosing the "CUG", you can start a further search, now we provide 4 types of query:

After choosing the "Map", you will see an image(WBMP format) of the desired location.

3) Finding the nearest:

To find out the nearest, this distance can be set by the mobile user, points' information around a base point, it is important to know the users' position before using this function. Possible solutions include:

(1). Self Location, location by users' inputting, choosing or voice cognition on mobile phones. This is usually very inconvenient for real use;

(2). Automatic Location, now there are several ways to determine a cell-phone user's position. According to Bob Gauthier of Conexant Corp., the location services specification encompasses time of arrival (TOA), enhanced observed time difference (E-OTD) and assisted GPS.

TOA: TOA requires multiple base stations that listen to handover access bursts and triangulate the position of the mobile device. TOA has the advantage of working with existing GSM mobiles, but has the disadvantage of requiring the greatest investment in supporting infrastructure.

E-OTD: With E-OTD, the handset listens to bursts from multiple base stations and measures the observed time differences. The measurements are used to triangulate the position of the mobile device. E-OTD requires handset modifications, but less positioning infrastructure support than TOA.

Assisted GPS: relies on mobile devices that have an integrated GPS receiver. Assistance data may be transmitted from the network to expedite the GPS signal search and possibly improve sensitivity. Although this is potentially the most accurate method, GPS is limited by weak penetration of signals from the satellites [1].

4). Field Value Retrieving Functions:

Functions like Phone query of a specified point are implemented by retrieving the according field value of the attribute of the point.

MAPGIS, like all other GIS softwares, defines point as a structured object. Each point file, all points in a point file share the same structure, has an extensible structure, which makes it easy for adding different values to points.

Values like Phone, Text intro, Buses, or anything logically reasonable with a point can be stored in the points' attributes. Once you find the point, you can get the values out.

The point file, "wuhan.wt", we use as the demo has the following attribute structure:

Wuhan.wt:

ID

Att

Phone

Buses

Text_Intro

For example: the point CUG(ID: 288) has the following attribute value:

ID

Att

Phone

Buses

Text_Intro

288

University

02787482781

708;59;

/Univ_intro/CUG.wml

Fig.6 Attributes retirval

5). Navigation Functions:

Simulator Nokia ToolKit, ZoomingFactor= 1.2, Mova pace=10,

size of image=100*55 .

Shown as below:


5. Improvements:

The above ASP component WAP GIS does not include the location systems. As show above, it will be very inconvenient for users to input their own location when a Nearest findings is needed.

So in addition to a WAP GIS service, the following location-based and network technologies are required toProvide Mobile Location Services: Position Determining Equipment(PDE), Mobile Positioning Center(MPC), Internet Gateway, Internet-capable Mobile Devices, Location-aware Technology, Geographic Content, Location-specific Content. The relationship can be shown below: [5]

Fig 7. Conceptual Architecture for Mobile Location Services

6. Conclusion and WAP GIS in China today

WAP GIS is a mobile GIS service, it gives us Geographic information, maps and text at any time and anywhere we need them. It can be seen as a tool or as a toy, whatever you call it, it sure has a great market potential. WAP GIS not only broadens the WAP service contend, it also broadens the traditional GIS application area and will sure to promote the development of GIS.

Using ASP component in realizing a WAP GIS is suitable, because it has a "Thin Client/Fat Server" structure and matches the WAP nature. This is very important for WAP service because the mobile phones or PDA generally have only a limited computing capability and memory.

Now in China, WAP GIS s just beginning, many companies have come out of their WAP GIS solutions, but most of them rely on the foreign GIS platforms, such as MapInfo, ArcInfo. The GIS platform, MapGIS of Zondy[17] Company, is the among the first national GIS platforms that could offer WAP functions in China. With this easy and direct way of ASP component WAP GIS approach, combined with location information, this solution is very promising in the future WAP GIS world!

Acknowledgements:

With special thanks to Prof. Xie Zhong, Information Engineering Department, China University of Geosciences for his contribution in this project.

Li Yue
PhD candidates, School of Computing,
National University of Singapore
Block 13, #08-39,
39 Prince George's Park, Singapore 118431
Date: 2001-09-18

References

  1. Joe Francica, Where Wireless Meets GIS,Business Geographics, Geoplace.dom,http://www.geoplace.com/bg/2000/1000/1000spf.asp
  2. Autodesk(r) Location Services http://locationservices.autodesk.com/index.htm
  3. Mapping and GIS for Mobile Systems, http://www.esri.com/software/arcpad/index.html
  4. Scottie Barnes , GIS Goes Mobile GIS Goes Mobile, Cadalyst.com, http://209.208.199.147:85/features/0401gis/0401gis.htm
  5. Mobile Location Services, Mapinfo Whitepaper, http://www.mapinfo.com
  6. WAP and ASP - Part I&II, by Luca Passani , http://www.asptoday.com
  7. UP SDKGuide, Security_WAP, Phone.com, http://www.phone.com
  8. Nokia WAP Toolkit Developer's Guide, http://www.nokia.com
  9. Wireless Markup Language Specification, Version 1.1, By Wireless Application, protocol Forum,Ltd.1998,1999,http://www.wapforum.org
  10. Wireless Markup Language Specification. WAP Forum, 16-June-1999, http://www.wapforum.org
  11. WML Reference , WMLScript Specification, WAP Forum,16-June-1999,http://www.wapforum.org
  12. WMLScript Standard Libraries Specification, WAP Forum, 16-June-1999,http://www.wapforum.org
  13. Wireless Application Protocol Architecture Specification, WAP Forum, 16-June-1999. http://www.wapforum.org
  14. Wireless Session Protocol Specification, WAP Forum, 16-June-1999. http://www.wapforum.org
  15. Extensible Markup Language (XML),
  16. W3C Proposed Recommendation, 10-February-1998, REC-xml-19980210, http://www.w3.org/TR/REC-xml
  17. Li Yue, ASP Based Web GIS, Bachelor Graduate Dissertation,1999
  18. Wu Xincai, MapGIS developer's Guide, China University of Geosciences Press, 2000.

Appendix

"MAPGIS", MapGIS is the GIS paltform developed by the Zondy Information Engineering Company, WuHan, China. She has won the first position for 4 consecutive years,1997-2000, in the National GIS software(platform) Evaluation Conference, held in Beijing by the National Bureau of Science and Technology, National Mapping and Survey Bureau.

About Auhthors:

Li Yue, PhD candidate, School of Computing, National University of Singapore

Xie Zhong, Associate Professor, School of Information Engineering, China University of Geosciences