How it works
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.