Brijesh Misra
RMSI, A-7, Sector 16, NOIDA-201301 (U.P.), India,
Tel: 91-118-51 1102 / 2101, Fax: 91-118-51 1109 / 0963,
[email protected], Web: www.rmsi.com
The power of information lies in the exactness and usability of processed data and the speed and cost at which it is available. This case study from Japan is about the technology used to process and share the sheer volume of geographic data acquired by a corporate giant over a period of years.
The Client and their requirement
Our client is a Japanese geo-technical consultant specialized in the field of soil engineering and primarily involved in construction projects all over Japan since 1954. In the recent years it has started automating the task of processing its geographic data and sharing the information processed. We at RMSI developed desktop and client server geographic information systems for the client to manage river, highway and dam projects in Japan. These desktop and client server systems which used ESRI MapObjects and MapInfo technology helped the client to process their data to a great extent, but were not available to all the users in the organization which has 70 offices all over Japan. It was not economical for the client to install these individual mapping systems in all its offices and for its clients. This also lead to problems in data sharing, maintenance, manipulation and resulted in redundant data storage. There was need to develop a larger system that could serve many users without data redundancy.
A solution emerges
Enterprise wide GIS was the answer to the problem. Unlike the traditional desktop GIS, this requires building of methodologies to make the data available to all the users. Web became the ideal medium to share information among the users through web browsers. The existing Local-Net connecting its offices served as Intranet for the client’s engineers and the Internet to serve the client’s customers. To start with, a prototype of the Enterprise GIS was planned. It consists of a wide range of features from map navigation tools to querying databases, searching and identifying features, preparing thematic and cosmetic maps, generating 3D images and contour maps, associating user information to features, printing map plots and creating map documents for reports, exporting maps into various data formats… etc. In addition to the above features available for every user, administrators must be able to create and manage projects and other users.
Design objectives
Some of the key design objectives were interactivity, which has to be at par with a desktop system, high response time, which should be acceptable to the users, simplicity, to help the client’s geo-technical engineers who are not used to such advanced information systems. And, above all an effective way to maintain the state of each browser accessing the server.
Selecting the software
The software to support the mapping part of the web-based Enterprise GIS was to be chosen, considering the client’s financial and time constraints. Also the possibility of reusing the components developed for desktop and client server GIS was kept in mind. Many web-based GIS software products were evaluated. ESRI MapObjects Internet Map Server (IMS) emerged as one solution to the problem, a state-of-the-art technology to build mapping applications for the Internet and Intranet. The product consists of a CGI application in the form of a DLL (called esrimap.dll) and an ActiveX control (called weblink.ocx). The product enables application developer to build server applications that serve web client requests for maps by creating them on the fly. ESRI shape file was chosen as the data format to store the spatial data. MapObjects 1.1 and MS Visual Basic 5.0 were selected to prepare the maps at the server. MS Access was chosen to store the tabular information of all GIS projects.
Having decided the mapping engine and database at the server, the selection of software to present the maps and tabular information at the browser remained. Java 1.1 was chosen to provide interactive mapping tools through applets at the client browser. The non-mapping part, which included the tabular information of all GIS projects were handled by HTML forms, Java/VB scripts at the client side and by MS Active Server Pages and ActiveX DLLs at the server side. The whole system rested on MS Internet Information Server accessed by a normal web browser such as Internet Explorer or Netscape Navigator.
Architecture
The web-based GIS Software primarily consists of two components: the server and web client, which runs in the browser.
The server is aset of applications that serve the requests made by a client. It is divided into two sections: the Map Server which prepares maps from the spatial database based on requests and sends them back to client; the Data Server which is responsible for managing tabular data at the server and sending tabular information to clients.
The web client is partitioned into two separate frames, the main map frame and the side information frame. Primarily, it makes request for map images and HTML pages. The main map frame is a Java applet that displays the map. The information frame displays HTML pages in response to the user inputs in the map frame or in the information frame itself.
The data server component consists of Active Server Pages (ASP) which provide all the user interfaces required to access the database from the client browser. All the business logic that did not require map generation is packaged in the form of ActiveX components that are invoked by these ASPs.
Before the web client can perform a mapping or an information retrieval operation, the server identifies a user by logging into the system through a simple HTML form. The server validates and lists all GIS projects, which he is currently working on. The user can select a project and start working on the spatial and tabular data associated with a project. He can perform a mapping operation such as zoom, identify or search a feature. These requests could either be for a new map or an HTML page giving information about the map or both. They can originate either from the map frame or the information frame of the web client. The following table lists the mechanism followed in each case for each type of request.
Requests
Originated in Map Frame
Originated in Information Frame
For Map
The Java applet makes a CGI call to the Map Server passing the relevant parameters. The Map server receives the parameters and builds a new map using ESRI MapObjects; it then converts the map to an image in GIF Format and sends it back to the Java applet.
E.g.: Zoom, Pan etc.
The Client side script in the HTML calls the method of the applet with the relevant parameters to refresh the map. The Java applet makes a CGI call to the Map Server passing those parameters to build a map.
E.g.: Navigate and highlight a particular feature of a specific Layer on the map.
For HTML The Java Applet calls the ASP, retrieves a HTML with the tabular information and displays it in the Information frame
E.g.: Display the feature name and layers for a particular poin t on the map. The HTML form calls the ASP and retrieves a HTML using a standard CGI call
E.g.: Display Rendering attributes of a particular Layer from Layer Management module. For both Map and HTML The Java Applet requests the image as above and then request for the HTML as above, one after the other.
E.g. Highlight and measure the length of a line. The line is highlighted on the map in the map frame and the calculated length of the line is displayed on the information frame. The Client side script in the HTML calls the method of the applet with the relevant parameters to refresh the map. The Applet then requests an HTML to be shown in the information frame.
E.g. Create a thematic map in the map frame and display its legend in the information frame.
The Unconventional
- Unlike traditional CGI applications, the state of client browsers were not stored in the browser forms, but were stored in the server for each browser.
- Though it was planned to use ESRI MapObjects Internet Map Server at the server side, the applet, which acts as the map control at the client side, was completely written using Java Core API 1.1.4.
- The Map Server application, which was capable of doing database activity was not used for tabular data retrieval, instead ActiveX components invoked by ASPs performed data retrieval.
- The text displayed in all the user-interfaces are extracted from a language table by the ActiveX components and scripts, instead of hard coding in the HTML.
The following figure is a screen capture of a browser interface accessing the Enterprise GIS.
A Simpler access to large databases
The following figure is a screen capture of a browser interface accessing the Enterprise GIS.
Why did we do this way
Maintaining the state of client involved storing the tool currently used, user-preferences like layer settings, rendering properties for each layer on the map… etc. Storing these at the browser resulted in passing hundreds of parameters between the browser and the server, leading to network traffic. To overcome this problem separate data stores were maintained for each open session at the server.
One of the key requirements was to serve the external customers of our client, whose type of browser could not be predicted. The complete applet had to written using the basic JDK 1.1.4, just to ensure browser independence and zero-installation at the client.
The load at the server need to be balanced between different processes, so the map server which was always busy preparing the maps to serve map requests was relieved from the database activity by the ActiveX components invoked by the Active Server Pages.
Keeping the need for a bilingual version in mind, the system was designed to scale it to a multilingual version. The user’s language preference, which is entered while logging in, is used to prepare messages in the HTMLs. These messages are stored in both Japanese and English in the language tables. Addition of a new language would require only adding those messages in the language table.
Advantages and Disadvantages
The Enterprise GIS implemented for our client has its own advantages and disadvantages. Some of the major advantages are:
- Low cost per client installation: It takes only an ordinary web browser to perform all the GIS operations from the engineers desk
- Ease of use: The simplicity of the user interface and design helps the non-GIS users and clients to explore the geographic data at our client.
- Data sharing: The data for all GIS projects handled by each office is stored in one common database for each office, which users from other offices can access over the Intranet.
- Interactivity: The applets provide the same level of interactivity as in desktop systems to navigate and query maps.
- Private User Information: Though the system allows users to share data on the projects they are working on, users can store their private information (both maps and tabular data) which is hidden to other users.
- Intelligent Clients: The Java applets at the browser do the co-ordinate conversion for displaying X, Y points from Geographic latitude, longitude to UTM meter projections.
The disadvantages are:
- Response time: In spite of the efforts to balance the load at the server between various processes, the map display is still slower than that of a desktop system. This is due to the traffic in the network, which is shared by various other systems and users.
- GIF Images: The maps displayed in the form GIF images in the applets cannot store geometric or attribute data at the client side. This retards processing, as they have to be requested from the server every time.
Enhancement efforts are underway to overcome the above disadvantages by cloning more map servers to prepare the maps and storing the immediate data required at the clients.
Conclusion
The Enterprise GIS which is currently generic to all GIS projects can be customized to specific applications like routing, soil-engineering, weather forecasting…etc. Numerous tools exist currently and are expected to increase as the prototype gains acceptance among the users in our client organization.