CARVIEW |
An Interactive Map Viewer
The Interactive Map Viewer [Putz1] is a World-Wide Web application developed at the Xerox Palo Alto Research Center. This application combines the ability of HTML documents to include graphical images with the ability of HTTP servers to create new documents in response to user input. The HTML format and the HTTP protocol are used to provide a custom user interface for browsing and viewing geographic map data.In this application, a computer generated map of the world is embedded into an HTML document using the <IMG> tag for in-line images. Additional links in the document are used as controls allowing the user to change various map rendering options (e.g. pan, zoom, level of detail). Users can interact with the Map Viewer using any WWW browser, that supports in-line images, such as NCSA Mosaic [NCSA1]. The Map Viewer server will also provide GIF format map images for use separately or inclusion in other documents.
The Map Viewer Interface
When used as an interactive map browser, the Map Viewer presents the user with a hypertext document consisting of a large graphic image containing the current map. Selecting on the map image causes the map view to zoom in centered on the selected coordinate. Below the image is text which indicates the current and available viewing options.Since the Map Viewer was created before the forms extension to HTML was available, regular hypertext links are used for changing map rendering options.
Map Viewer Service Implementation
The Map Viewer is implemented as an HTTP server running on a Sun Unix workstation using a custom server module written in the perl scripting language [Wall1] as part of a Plexus HTTP server. The perl program generates HTML documents and map images on demand, based on parameters encoded into the requested URL. The server responds to two different kinds of map requests. When a GIF format image is requested, the server generates and returns the requested image without any accompanying hypertext document. Otherwise an HTML document is created which includes an IMG element with a URL specifying the appropriate map image. Note that the actual map image is not generated until (and unless) the client browser requests it.Links in each HTML document (with labels such as "Zoom In") have URLs corresponding to different map rendering parameters, allowing the user to modify the map image by selecting the links. By including the HTML ISMAP attribute in the included IMG element, the server receives image coordinates whenever the user selects a point on the map. The server uses the coordinates to zoom in on the selected location.
The GIF format map images are produced by a separate utility program which is run on the Unix server as a subprocess of the perl script. The rendering options are parsed from the requested URL and converted into command line options for the map generating program, which is invoked using the perl system() function. The output of the map generating program is normally fed directly over the network to the HTTP client without ever being stored in a file. The server does have an image file cache of the most frequently requested images. This cache is checked before invoking the map generating program.
Map Viewer URL Format
There are about two dozen options which can be specified as part of a Map Viewer URL to control various attributes of the generated map image. Since the map server both generates and interprets the map URLs, it is free to choose its own method for encoding the options. Map rendering options are encoded into the URL by separating each option with a slash (/) and within each option separating the option name from its value by an equals (=). Thus the URLs used by the Map Viewer take the form:
https://hostname/map/option=value/.../option=value
Where the options specify rendering attributes such as latitude, longitude, map extent, and which geographic features to display. Although the slash character is often used in HTML URLs to define a hierarchical name space (allowing relative path URLs), the Map Viewer's URL name space is not hierarchical and it uses the slash as a simple separator. The order of options is not significant (URLs generated by the map server have the options in alphabetical order) and all options have a default value. An example URL for displaying the Hawaiian Islands is:
A list of of the Map Viewer Rendering Options is available in the on-line version of this paper and also in the Map Viewer's on-line documentation [Putz1].https://mapweb.parc.xerox.com/map/lat=21.34/lon=-157.97/wd=9.0/ht=4.5
Incorporating Map Images in Other Documents
In addition to providing an interactive user interface for browsing world maps, the map server can also provide separate map images on demand. GIF format map images can be incorporated by reference from arbitrary HTML documents or retrieved from the server and used for other purposes. For example, including the following in an HTML document will insert a small color image with a map of the entire world:
<IMG SRC="https://mapweb.parc.xerox.com/map/color/ iwd=200/iht=100/format=.gif">
It is also possible to link the image back to the interactive Map Viewer interface so that clicking on the image will allow the user to zoom and customize the view.
<A HREF="https://mapweb.parc.xerox.com/map/ border/lat=41.9/lon=14.8/wd=16/ht=11"> <IMG SRC="https://mapweb.parc.xerox.com/map/iwd=128/iht=100/nogrid/ border/lat=41.9/lon=14.8/wd=16/ht=11/format=.gif"></A>
Examples of Included Map Images:
A particularly innovative use of the map service is the U.S. Gazeteer WWW service created by Brandon Plewe [Plew1]. It integrates an existing Geographic Name Server with the PARC Map Viewer. A user simply enters a search query (e.g. the name of a city, county, lake, state or zip code) and a list of matching places is returned as a formatted HTML document. Selecting from the list generates another HTML document consisting of two maps (small and large scale) with the location highlighted (using the Map Viewer's mark option). The server in New York does not generate or retrieve the map images, since they are references directly to the HTTP server at Xerox PARC. The user's WWW browser retrieves the map images from the server in California and displays the complete document to the user.
Map Service Usage
A significant feature this application is the ease with which the service was created and its broad accessibility as a network service to users throughout the world. As of February 1994, the Map Viewer server at Xerox PARC was receiving over 25,000 map image requests per week. (See current statistics)