Teerayut Horanont, Dr.Nitin Kumar Tripathi, Dr.Venkatesh Raghavan
Space Technology Applications and Research Program,
School of Advanced Technologies Asian Institute of Technology,
P.O. Box 4, Klong Luang, Pathumthani 12120, Thailand
Tel: (66 2) 524 6392, Fax: (66 2) 524 5597,
Email: [email protected]
Survey Engineering Department, Chula Longkorn University
WEBGIS is a Geographic Information System (GIS) distributed across a computer network to integrate, disseminate, and communicate geographic information visually on the World Wide Web (Edward, 2000, URL). In performing the GIS analysis tasks, this service is similar to the Client-Server architecture of the Web. The geo-processing breaks down into a server-side and client-side task that make the users will be able to access, manipulate and retrieve the GIS data from their browser without purchasing proprietary GIS software.
A client typically is a Web browser and the server-side consists of a Web server that provides a WebGIS software program. The client requests for a map or some geo-processing over the Web to the remote server. The server translates the request into an internal code and invokes the GIS functions by passing on the request to the WebGIS software. The software returns the result that is reformatted for interpretation by the client browser application itself or with additional functionality from a plug-in or Java applet. The server then returns the result to the client for display, or sends data and analysis tools to the client for use on the client-side (Peng, 1997; Plewe, 1997, p.5).
Much recent attention has focused on developing GIS functionality in the Internet. WebGIS holds the potential to make distributed geographic information (DGI) available to a very large worldwide audience. The challenge of WebGIS lies in creating software systems that are platform independent and run on open TCP/IP-based networks, which is on any computer capable of connecting to the Internet (or any TCP/IP-based network) and running a Web browser (Kenneth, 1997, URL). Regarding to this approach, GIS software have to be redesigned for the WebGIS application according to meet the Internet specifications.
As the Internet have been coming as a major means to drive the network GIS services. Many of GIS vendors developed their own WebGIS software packages that provide the various kinds of GIS functions and analysis. The research has implemented with the MapInfo MapXtreme Java 4.0, ESRI ArcView IMS 1.0a and Minnesota MapServer 3.6.1. This particular selection is based on the currently available of WebGIS software. The research has evaluated these three packages related to the web mapping applications and implemented by using Phuket data.
- Comparison of the strengths and weaknesses of different system architecture for providing GIS functionality in the Web.
- Assessment of each WebGIS applications on the various approaches was done by reviewing the product document as well as providing access to a comprehensive set of mapping display, query and manipulation methods and properties.
- Implementation on Web map server to accomplish the benchmarking of two commercials and one open source software packages by means of their features, components, system environment as well as the practical test on a specific application.
Initial approaches to deploy the Web mapping application, the system architecture for the Web-based GIS, infrastructure requirements and necessary skills should be considered. The WebGIS system architecture can be illustrated as a Client-Server web deployment. However, there is need for additional technology to provide a Webmapping application, either at just the server-side or at both the server-side and the client-side. The Web server itself is not able to do any geo-processing then it has to pass on requests from the client to map server (WebGIS software) for geo-processing. There are several standard interfaces such as the Common Gateway Interface (CGI) and server Application Programming Interfaces (APIs) to enable the communication between Web server and map server. The diagram below illustrates a generalized view of a web-deployed mapping application.
Figure 1. Webmapping system architecture
The interaction based on request and respond scenario of client-server. A server-side application communicates with the map server to provide the request information. The updated map is returned to the browser embedded in the HTML page or applet. Generally, the web system architecture can be categorized by means of the thickness of users.
Thin Client Approach
The thin client architecture focuses on the server-side which most of data and analysis procedure was processed on demand on the server. Data transmitted to the web-client are in standard HTML format embedded with typical GIF, PNG or JPG images that can be views in any web browsers. The disadvantage of the server-side solutions are primary associated with limited user interface. In WebGIS, there are many applications in which users need to interact with the spatial data before an action take place. These include of dragging windows, selecting the features or area of interest. It is inefficient to do this by using a standard Web interfaces (Gerardo, 2000, URL). Therefore this solution is the simply way for build up the web map applications running on any standard browser.
Thick Client Approach
A Thick client is at the other end of the spectrum. To support displaying the results of geo-processing at the client-side several technologies have been developed such as plug-ins, ActiveX controls and Java-applets. GIS plug-ins are small software applications installed at the client-side to extend browser capabilities to handle GIS data formats that current HTML cannot recognize. Some simple GIS functionality can be built into the plug-in or applet and performed locally. The execution requires no server-side geo-processing, thus reducing data transfer over the Web. Unlike in the case of the thin-client architecture where rendered maps are transmitted as images files, the geo-data in the thick-client approach are transmitted in the form of the more compact vector data structure (Gerardo, 2000, URL). The advantages of the WebGIS client-side solutions are the abilities to enhance user interface and serving map by illustrating in vector form. In general, the disadvantages associated with the client-side solutions relate to distribute the software and data. No software either Java or ActiveX run on all computer platforms that exist on the Internet.
Figure 2. Thin Client Approach
Figure 3. Thick Client Approach
A Comparative Assessment of WebGIS software
The research plays an attention on currently available three WebGIS software packages among the various initiatives. These discussions provide an overview of these three software packages emphasized on their features and capabilities in order to develop the webmapping applications. The research also describes about the proficiency of the software in order to meet the challenges set by the benchmark items. We have deployed the applications with these products and will use this paper as an opportunity to share our experiences and observations.
MapInfo MapXtreme Java Edition is a 100% Pure Java enterprise mapping server designed that should, in theory, properly work anywhere. Java-based mapping applications allow developers to write a single program using on multiple platforms that support virtual machines (MapInfo, 2001, URL). MapXtreme provides mapping functionality in the form of JavaBeans for easy drag and drop development in a visual IDE that cooperative with novice Java programmers. For experienced Java programmers, the MapJ API was used to programmatically design. The MapJ API is the client-side API used to communicate with the mapping engine, MapXtremeServlet. MapXtremeServlet behave as a key element of this product, a server-side component that manages the requests and responses for mapping services, including image requests (GIF, JPEG), vector data requests (query methods), and metadata requests (table information). It is compatible with all J2EE-certified Web servers/ browsers, and there is no proprietary plug-ins. There are four high-level components: the MapJ object, map Renderers to display maps, Data Providers to access various data sources, and MapXtremeServlet (MapXtreme Dev Guide, 2001). The component-based architecture makes MapXtreme flexibility to deploy in any web system architecture design. It is compliant with web server supporting ISAPI, NSAPI, or CGI gateways, such as Netscape, Apache, or Microsoft Internet Information Server.
Some requirements are necessary for implementation of the mapping applications with MapXtreme. In general the web server must be obliged to supports servlets/Java Server Pages or integrate with plug-in to support servlets/JSP's or stand-alone servlet container which is J2EE compliant such as TomCat, IBM WebSphere, iPlanet, and others. Furthermore, in the thick-client architecture that puts MapJ on the client-side. It is possibly to receive map in vector data and display maps from these vectors by additionally add the Java Virtual Machine plug-in on the browsers.
ArcView Internet Map Server 1.0a
Environmental Systems Research Institute Inc. (ESRI) has created several products to enable developing Webmapping applications for the Internet. ArcView Internet Map Server (AVIMS) comes as an extension for the desktop GIS software program ArcView GIS. Due to its integration with the core ArcView GIS software itself, the spatial visualization of the Webmap and the functionality of the Webmapping application in general is determined to a great extent by the capabilities of ArcView GIS. There are three components in AVIMS, first is Internet map server extension that enables an ArcView session to communicate with the internet via the web server. For enables the web server to communicate with the ArcView, the ESRIMap web server is required. This is compliant with ISAPI (Internet Server Application Programming Interface) and NSAPI (Netscape Internet Server Application Programming Interface). Ultimately, the component that provides the basic tools for browsing, exploring and querying maps is MapCafe Java applet.
To tackle the vector-raster barrier between GIS and the Web, ESRI takes a server-side approach: it uses vector and raster data for geo-processing, but uses raster images (GIF or JPEG) for display purposes (ESRI, 1997, URL). By default, AVIMS uses the JPEG format, but GIF support can be provided. There are several ways to customize the AVIMS Webmapping pages. The fundamental way is using the Avenue script which is the general ArcView object-oriented programming language and develop environment. The scripts allow you to control how the AVIMS serves your maps. Usually, Avenue working on the system scripts that build up the personal working environments so as to manage the communication between Arcview and the ESRIMap web server extension. For modifying the user interface including layout, the embedded tools and buttons, AVIMS make available by a Java applet called MapCafe (ESRI, 1997). This Java-based applet provides a ready-built GUI for displaying Webmaps in a standard Web browser. When users visit the Webmapping application, the applet downloads automatically from the Web server onto the client-side to be interpreted by the Java Virtual Machine (JVM) of the Web browser. Users do not have to install anything on their system before they use the Webmapping application.
MapServer is an Open Source development environment for building spatially enabled Internet applications. MapServer is known to compile on most UNIXes and will run under Windows NT/98/95 and absolutely run on Linux/Apache platforms. MapServer generally runs as a CGI application from your http server. This holds true unless you are building a more advanced application with MapScript, which accesses the MapServer API directly. The logic of a MapServer Application is demonstrated in three core components that are the Mapfile, the template file and the GIS dataset. The Mapfile defines the data to be used in an application and display and query parameters accepted as the application's configuration file. The Mapfile also includes information about how to draw the map, the legend, and maps resulting from a query. The template file controls how the maps and legends output from MapServer will appear on an html page. It operates like any other HTML file except that certain fields can be modified by the MapServer CGI. Mapserver uses ESRI shapefile format as its default vector file format. Raster data can come in several different formats, depending on how MapServer is compiled. By default, MapServer supports geoTiff files and Tiff files with world files (MapServer,2002, URL).
The research performs a practical experiment to assess the operational use of specific software for a certain task. Spatial data of Phuket has been taken to develop as same input data. The network conducted on an isolated LAN connecting a client machine to a server machine running the tested application. The web server was deployed using Internet Information Services (IIS) with Java Virtual Machines (JVM). Additional, Apache Tomcat v3.2.2 has been run as an application server hosting for MapXtreme.
Figure 4. WebGIS Applications development flow diagram.
This experiment is only one task of the WebGIS applications testing, which the specific system environments were used. In reality however, data sources may differ with the variety of WebGIS applications and system environments as well as each software package may behave differently. For shortly discussion on this task cause of the time limited, the research still going on for the software benchmarking in various aspects of webmapping application.
- System architecture overview
In order to test the WebGIS software, it is necessary to limit as much as possible external factors that influence their performance. To standardize the server-side of the computer network configuration, the system requirements of the three WebGIS software packages have to be compared regarding to their operating system (OS) dependency and the server software dependency. In term of Internet, the web mapping applications have to deal with the variety of the OS. The compatible of OS in both Client and Server side have to be concerned.
- Table 1. Supported OS for client-server
Product Name Client OS Server OS Win NT Win 9x Mac Unix Win NT Win 9x Mac Unix MapXtreme Y Y Y Y Y Y Y Y ArcView IMS Y Y Y Y Y Y N Y MapServer Y Y Y Y Y Y – Y
- Input and output of geospatial data
- File formats
Before developing the webmap application, WebGIS have to be able to deal with the several of data source. Then the abilities to access to the general geo-data as well as projection and co-ordinate transforming have to be compared. The entail of data sources that provide the GIS information on the web, ArcView IMS is developed by ESRI and can native support the ArcView file format certainly. The additional support files can be imported by means of the ArcView program. MapXtreme, generally, have defined as the map definition in .mdf file format that can be generated from various data source such as MapInfo tab file, ESRI shape and GeoTiff Raster. MapServer also use the shape file as the default vector formats supported. For the other source files, MapServer use the OGR Simple Features Library to access to a variety of file formats including MapInfo file, Microstation DGN and others.
- Distributed the Geospatial data to the public
Basically, WebGIS generate map in typical JPG and GIF raster file formats that will be able to open in any standard web browsers. For the vector map, MapXtreme offers MapXtreme JavaBeans that allow you to embed live vector maps in a Java applet or application and display maps from these vectors. MapServer also support for tiled raster and vector data (MapServer, 2002, URL). Only the ArcView IMS that cannot support with vector display.
- File formats
- Visualization and analysis
All of the WebGIS software packages use either a Java applet to extend the capabilities at the client-side. Therefore, the requirement of installed the Java Virtual Machine was need.
- Interface, tools and database connectivity
In order to build up the WebGIS applications, MapXtreme provides an Enterprise Manager, a Java server and client GUI that allows the users to manage various aspects of data layers showing on the map. MapXtreme embraces the trend to store spatial data in relational databases which supports access to several different types of data sources, including Oracle, Informix and JDBC Compliant databases.
ArcView IMS is the easiest in practical for creating the web map application, with the ArcView program, any map you can make in ArcView can be easily published on the Web. As the AVIMS just only an extension of ArcView Program, the accessing to the outer data source have to do within ArcView project before serving to the web.
The MapServer system supports MapScript which allows popular scripting languages such as Perl, PHP, Python, Tk/Tcl, Guile and even Java to access the MapServer C API that achieve the flexibility to WebGIS developer to create features for web mapping environments. MapScript provides a rich environment for developing applications that integrate disparate data. For example, using Perl's DBI module it is possible to integrate data from just about any database vendor such as Oracle, Sybase and MySQL with traditional GIS data in a single map graphics or web page (MapServer, 2002, URL).
Table 2. Features and tools
|Supported features||MapXtreme||ArcView IMS||MApServer|
|Spatial analysis supported||Y||Y||Y|
|Browser supported||Netscape or Internet Explorer versions 4.x or greater.||Netscape or Internet Explorer versions 3.x or greater.||Netscape or Internet Explorer versions 4.x or greater.|
|Raster/Vector Display Supported||Y/Y||Y/N||Y/Y|
|Programming language||Java||Avenue/Java||any CGI|
|Technical level||Java Servlet/Applet skill||Basic Html/Avenue||Basic Html/CGI|
|Prototype Builder Wizard||Y||Y||N|
|Plug-in/Other software required||Tomcat/other servlet container||ArcView 3.x Program on Server||N|
Conclusions and recommendations
As a WebGIS become a rightly integration of GIS and Internet technology, the one most importance problem inhibiting information technology has been overcame in which how to access to information and data without burdening end users with any GIS software also with the ability to sharing the geo-spatial data with formats and platforms independence. The basic approach for deploying WebGIS application is depends on the user requirements that have to concern with which WebGIS packages suitable to accomplish their objectives.
The research aspires to bring up WebGIS users intended for the better decision and manage assets of web-based GIS operations. This paper is only a partial research of Web-based GIS assessment and comparative so as the performance test and benchmark index will be fully completed in November 2002.
- Environmental Systems Research Institute, Inc., (1997), Using ArcView Internet Map Server: Map Publishing on the Web, Redlands: Environmental Systems Research Institute, Inc.
- MapInfo Corporation, (2001) MapXtreme Java Edition Developer's Guide Version 4.0, Troy, NY
- Plewe, Brandon, Onword press, (1977), GIS online, information retrieval, mapping, and Internet.
- Harder, Christia, (1998), Serving Maps on the Internet, Environmental Systems Research Institute, Inc., Redlands (California)
- University of Minnesota, MapServer homepage URL: https://mapserver.gis.umn.edu
- MapInfo Corporation, MapInfo MapXtreme java homepage URL:
- Kenneth E. Foote and Anthony P. Kirvan, NCGIA Core Curriculum in Geographic Information Science URL: https://www.ncgia.ucsb.edu/giscc/units/u133/u133_f.html
- Edward Mac Gillavry, Cartographic aspects of WebGIS-software, Department of Cartography Utrecht University URL:
- Gerardo Trinidad, Ivan Cole and Wan-Yee Chan, Developing Internet-based GIS Applications, Commonwealth Scientific and Industrial Research Organization (CSIRO) URL:
Data of Phuket provided by DCGM III Working Group 2001 : Urban Geoscientific Data of East and Southeast Asia GIS data sets of 11 cities, Second Edition, Digital Geoscience Map G-8, Geological Survey of Japan.