San Diego Supercomputer Center, UCSD
9500 Gilman Drive, La Jolla, CA 92093-0505
XML-based vector rendering technologies revolutionize the ways we interact with spatial databases, by making it possible to develop intelligent and lightweight map clients easily integrated with other standards-based software. In this paper, we explore SVG-based interfaces in two applications: online mapping of multiple information layers reflecting quality of life and public health variables, as part of a community web portal and data warehouse project, and the development of queryable brain atlases (rat brain, mouse brain). SVG (and previously, VML)-based clients have been used in these systems for dynamic display of multiple point, line and area layers, thematic mapping, object markup, as well as for formulation of graphic portions of user queries and visualization of query results.
AxioMap (Application of XML for Interactive Online Mapping) is a generic atlas application that supports online mapping from multiple XML files or XML-wrapped sources. It consists of two parts: an ArcView GIS extension that converts ArcView themes into XML files, and a DHTML viewer (initially relying on VML in IE5, now also in SVG). The viewer supports: (1) choropleth mapping from several datasets, with user-defined parameters (such as classification method, number of intervals); (2) display of additional point, line and polygon layers that can be rendered from pre-built XML files or dynamically generated from databases; (3) speech-enabled tooltips (using the text-to-speech plug-in from www.speaksforitself.com); (4) ability to create and save derived variables; (5) building simple and complex queries and mapping query results; (6) feature labeling and simple buffering; (7) customizable print layouts; (8) plenty of customization capabilities, for both the map and the navigation interface; and (9) ability to define hyperlinks for any object on a map. Being an atlas application rather than a generic map viewer, AxioMap stores all common project data (such as projection information, coordinate conversion formulas, symbolization, etc.) in a separate XML file (project file). Coordinates of geometric shapes are recorded in data files as integers with five digits or less (i.e. in relation to false origin whose geographic coordinates are stored in the project file), they are recomputed to real geographic coordinates and units only as needed by a particular query. Though not GML, this format provides for significant reduction in the size of input XML data files or streams, and better rendering speed.
With this functionality, the DHTML code is only 38K in size (in the VML version which so far has more functions implemented). The SVG version renders maps from the same set of XML files as the VML version, using the ECMA scripting engine internal in Adobe SVG Viewer 3.0. While a more reliable cross-browser implementation, this approach requires rewriting forms and other common GUI elements within SVG, at least until the viewer can support X-Forms or similar.
As a low cost Internet mapping alternative to server-based solutions, AxioMap has been used by several non-profit organizations to present quality of life variables and support community awareness of health and social issues, as a part of community data warehouse/web portal projects (such as the Quality of Life in San Diego project, www.qolsandiego.net; the Baltimore Neighborhood Indicators Alliance, www.bnia.org, etc.). A downloadable version of the software, and additional demos, are at www.elzaresearch.com/landv/
This system appeared to be a convenient environment for rapid prototyping of spatial query and markup interfaces over collections of federated spatial data sources. One of its extensions is the Spatial Markup and Rendering Tool (SMaRT) developed for managing and querying neuroanatomy atlases, and supporting the atlas conversion into a spatial database. Sections of the Paxinos and Watson Rat Brain Atlas were converted into SVG files from Adobe Illustrator, and accessed via a DHTML interface which allowed users to: (1) explore the atlas using a common stereotaxic coordinate space computed "on the fly" (based on interrelationships between shapes on each slice, and slice metadata extracted from the SVG files); (2) annotate selected anatomical structures, as well as topological relationships between structures; (3) query anatomical structures and relationships, across multiple SVG layers, using spatial or attribute queries, with query results rendered in the SVG interface. In developing this system, we ran into several interesting issues reviewed in the paper in detail: (a) reformatting SVG paths so that they can be entered in a spatial database (Oracle Spatial), with automatic detection of semantic and spatial inconsistencies, (b) querying SVG graphics using topological predicates, (c) coordinate system conversions (between screen coordinates, SVG coordinates, and stereotaxic coordinates) triggered by particular spatial queries.