International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B2. Istanbul 2004
(2) Send a request to the web server,
(3) Run the requested server program (the second and third
tiers),
(4) Package up the data to be presented in the web browser,
and
(5) Send it back to the browser for displaying (the first tier).
Request d Web , Server Script and
Server Program
Web Browser +
Response
Spatial database
Fig. 1. Three-tier client/server architecture for web-based 3D
city data visualization
Virtual Reality Modeling Language (VRML) has become a
popular tool for building a 3D representation on client side. A
VRML application is typically a hierarchical organization of
geometries, sensors, light sources, script methods, and grouping
primitives assembled in a meaningful fashion (Web3D Inc.
1998; Brutzman, 1998; Nadeau, 1999). There are various
primitives, termed nodes, are available in VRML. These nodes
are capable of directly visualizing a complicated scene, thus it
is very useful for visualizing urban 3D models. The geometry
of the primitives has been defined with shape nodes in VRML.
The sensors are used to associate interactive capabilities. The
Scripts enable users to implement many specific functions.
Information is passed between nodes by events whose routes
are either explicitly declared or established within Script nodes
(Belfore e/ al, 2002). VRML has many desirable features to
meet users’ needs for describing 3D objects on the WWW for
GIS applications (Reddy er a/., 1999). A VRML model can be
viewed by any web browser that has a VRML plug-in pre-
installed. VRML "worlds" can depict realistic or otherworldly
places, which can contain objects that link to other documents
or VRML worlds on the web.
Java web technology is a powerful web development toolkit.
Java technology is further improved by supporting servlet
technology. Servlets provide the capabilities of cgi-scripts, and
are superior in execution efficiency, stability and security.
Through the Java Development Kit (JDK) API, servlets can
connect to server databases.
Servlets are software methods that run on the server and can be
called up as URLs from the Internet (Belfore et 2l... 2002).
Servlets handle the client requests and dispatch them to the
server. With servlets as a middleware, it can build a multi-tier
web application. A servlet extends the capabilities of servers
that host applications accessed via a request-response
programming model. Servlets can respond to any type of
requests, and are commonly used to extend the applications
hosted by Web servers. JSP (JavaServer Pages) technology acts
as a top layer above Java servlets on the servlet engine. It
allows developers to combine HTML codes with server-side
scripting to create dynamic pages.
2.1 Client Side Architecture
The basic architecture of client side is depicted in Figure 2.
This application uses JSP pages to provide a front-end interface
from client side. The users interact with the server for their
choices via an interface. The requests from users are directed to
the server through the Servlet middleware, and the server runs
on the Web server.
| Main Menu
in y
Y
Create - €
Create 3D Hexahedron Create Building
ildi Roof
Building
Fig. 2. Three-menu option on client side front end
The front end is comprised of three options. The first choice is
for creating 3D VRML model directly from the data stored in
the database. The server part of this application will access the
data files, automatically load the data into the server, and then
automatically build a VRML model based on data files. After
that, the server sends the VRML model back to the client end
for displaying it on the browser. The second choice is for
creating single Hexahedron building through point coordinate
data input. This part allows users to build a new building or add
a building to an existing model when the users input the
coordinates of the corners of a building. The third choice is for
creating roof objects through parameter input. It enables users
to add a roof object to an existing building (VRML model).
The user first chooses what kind of roof he or she is interested
in, and then inputs corresponding data and parameters. For
example, when a user inputs the file name with the VRML
extension and paramcters describing building roofs, the roof
object will be automatically created and added to the building
(VRML model) that the user has specified via this file name.
2.2 Server Side Architecture
Our server side architecture is illustrated in Figure 3. The
server side would provide actual functions, such as, read/write
files access on the server, create VRML models, and generate
content dynamically. Thus, the web server would serve all
client requests for generating either static or dynamic contents.
Several software technologies and development packages have
been employed in this application. These include the Java™
Development Kit JDK version 1.4, the Java Servlet
Development Kit JSDK version 2.2, the Apache Web Server v
4.0.0, and the Cosmo Player version 2.1.1 browser plug-in. The
application uses Java object-oriented design, which will
connect and access the database files, process the user input
data, and generate a VRML model.
Apache m"
Web
Server
Database
Application
Build VRML MODEL
| User d Client |
r
Area CosmoPlaye
Fig. 3. Server Side Architecture
Interi
—
3. Ul
3.11
Visu
Diff
mani
oper:
data:
shou
shap
The
Ther
al. |
3.2
The
data
abo:
of rc
valu
entit
For
Wal
iden
fron
a Re
Con
Con
Qua
Con
the