A Simple Web Mapping Solution for Complex Spatial Databases

SVG Open/Carto.Net 2002 Developer's Conference

Abstract Submission

Brandon Plewe

Department of Geography
Brigham Young University
Provo, Utah, USA 84602-5462
801-378-4161
brandon_plewe@byu.edu

Faculty at BYU are currently in the early stages of developing the Atlas of Utah's Past.  We have debated at length the relative merits of the print and Internet media for this atlas: Printed atlases have a high degree of quality and scholarly merit, while the Internet has potential for cheaper distribution and interactive capabilities.  Therefore, both will probably be produced in some form, if the quality is consistent, and if both products can be produced from the same source data with minimal redundancy, and of course if both can be produced at minimal cost.  Finding an Internet system that meets these criteria has been difficult, but we have recently discovered a very attractive solution.

There are a variety of reasons for integrating GIS, maps, and the Internet, as explained by Plewe (1997) and Kraak and Brown (2001), but generally the purpose is to distribute geographic information (and tools for using it) to a wider audience than would otherwise have access.  The phenomenal growth in this (Web Mapping, Internet GIS, DGI, or whatever it may be termed) market (Plewe 2000) attests to the importance of this goal. Unfortunately, there are still many obstacles standing in the way of this technology reaching its full potential.  Four obstacles stand out:
  1. Specialized web mapping software (such as ESRI's ArcIMS or Intergraph's GeoMedia Web Map) is still complex to install, manage, and use, despite some recent improvements.  They are designed to be implemented by Internet software engineers, not by GIS professionals (and certainly not by the cartographer who wants to put one or two maps online).
  2. This software is extremely expensive.  It is generally priced according to the principle that the vendor is giving you unlimited access to their technology, rather than just a single seat.
  3. The capabilities for retrieving data are rather weak, which is surprising since most vendors are data-oriented.  Most of the software is based on the traditional GIS model of static layers that are displayed in their entirety on top of one another.  Many current GIS applications have complex data models, and the collection of features to be displayed is often based on a multi-table query; many of the "most powerful" web GIS platforms cannot do this without extensive programming.
  4. The cartographic quality of the maps produced by these services is almost universally poor.  They have only minimal capabilities for labeling, symbology, and interactivity.  A cartographer cannot produce a professional map online that rivals paper products.  There are certainly inherent limitations in the medium, but much more could be done within these constraints.
Our solution overcomes all four of these obstacles, at least in certain situations.  It is based on the Scalable Vector Graphics (SVG) standard, the plethora of tools for working with the Extensible Markup Language (XML), and the spatial capabilities of current relational databases.
 
One reason for this conference is that the Scalable Vector Graphics (SVG) standard has the potential to solve many of these problems, especially the last, but also the first and second. It enables a cartographer to produce an Internet-based map, with basic interactive capabilities (pan and zoom), from commercial graphics software with no programming at all. This map can be of a quality that rivals print products. However, something more sophisticated is still needed for advanced interactive cartography and GIS applications. The capabilities of SVG are not lost on the Web GIS software companies (mostly third-party developers rather than traditional GIS vendors), some of whom offer SVG as an output format.  However, these solutions still have problems in all four areas.  One reason why these "middleware" software packages exist is because map generation has always required extensive spatial processing, as well as the ability to write to several binary graphics formats such as GIF and JPEG.

However, SVG solves this problem as well.  Because it is XML, it can be created very easily.  One of the powerful capabilities of XML is that its structure enables translation between different XML schemae, usually using the Extensible Stylesheet Language Translation (XSLT) standard.  Thus, any XML content can be converted into an SVG map without any specialized graphics or GIS tools.  Since XSLT processors are bundled into many commercial web servers and good translators are available for free, a dynamic web mapping server could be created very inexpensively if one could get geospatial data in an XML format.

One way to do this is to generate GIS data in the Geography Markup Language (GML), a standard developed by the OpenGIS Consortium (OGC).  The OGC is currently developing a specification for the Web Feature Server (WFS), middleware that extracts data from a spatial database and delivers it as GML.  However, the early middleware software based on the WFS proposal is still complex, expensive, and short on capabilities.  Is there a better way?

Our Geo-Historical Information System, a temporal GIS, is currently implemented in Oracle 9i Spatial, a very robust platform for storing and managing complex geographic data models.  Oracle Spatial provides data types for spatial objects, and extensions to SQL for doing spatial queries, performing basic spatial analysis, and retrieving spatial data. In recent years, Oracle has positioned itself squarely in the Internet services market, including among other things a variety of tools for leveraging XML.  One of these tools is a ready-made Internet service (no special installation or configuration required) called XSQL.  Rather than a lot of custom server-side programming, XSQL uses simple XML templates to transform HTTP requests into SQL queries, and transmit the results as generic XML, or any other XML schema by connecting to Oracle's XSLT processor (also built into Oracle).

Thus, we are able to create simple web pages that take one or two client-provided parameters, plug them into spatiotemporal SQL queries, and return SVG maps (using custom CSS stylesheets for the symbology).   A full dynamic, interactive, database-driven mapping website can be created with no more programming than some Javascript for the interface.  Of course, Oracle itself is probably to expensive for many sites to use this as a ground-up solution, but if a site already has their data in Oracle, this is an essentially free way to deliver maps across the Internet with a quality that rivals print.

References

Kraak, Menno-Jan, Brown, Allan (2001) Web Cartography: Developments and Prospects. London: Taylor & Francis.
Plewe, Brandon (1997) GIS Online: Information Retrieval, Mapping, and the Internat. Santa Fe, NM: Onword Press.
Plewe, Brandon (2000) Profiling the DGI Market: Just How Big is It? GeoInfo Systems, V.10#2, 58.