The Geospatial Information Data Base (GIDB) System is an object-oriented (OO) digital-mapping database system designed by the Digital Mapping, Charting and Geodesy Analysis Program (DMAP) of the Naval Research Laboratory. Development of the GIDB System began in 1994 to demonstrate that representation of spatial data is less cumbersome and more optimal in object format versus relational format. Smalltalk was chosen as the programming language for the database, since at that time it was the most robust pure OO language available. Initially, all management of spatial objects was done in memory. As development grew to the point where memory management was no longer feasible, first ObjectStore and later GemStone was chosen as the OO database management system in which the GIDB database spatial data was stored.
When Java made its debut in 1995, the DMAP team began monitoring its usefulness in Internet-based capabilities. The DMAP team began work on Internet-based digital-mapping capabilities in 1997. This work has resulted in the GIDB Java mapping application and applet, which gives users access to mapping data via the Internet. Given the success of the GIDB mapping application and the growth and stability of the Java programming language, the DMAP team migrated all GIDB database and system code from Smalltalk to Java in 2001. The database component of the GIDB database is now implemented in an Open Source, all-Java, OO database management system called Ozone. Information on Ozone, including documentation and downloads, is available at http://www.ozone-db.org/.
The GIDB database, implemented in Ozone, is able to store spatial data from a variety of sources. Most of the mapping data in the GIDB database is obtained from the National Imagery and Mapping Agency (NIMA). Other data sources include the Naval Oceanographic Office, the U.S. Geological Survey, the National Ocean Survey, the U.S. Census Bureau, and the U.S. Army Corps of Engineers. The most common format of GIS data that can be read by the GIDB System and stored in the database is vector data such as NIMA's Vector Product Format (VPF) (NIMA 1996) and ESRI's Shapefile format (ESRI 1998). The GIDB System can also read in images, audio clips, video clips, and specialized text or binary files. Each data type is ingested into a common object model for uniform retrieval. This common object model was designed primarily to facilitate data retrieval in a mapping environment and so it organizes data in terms of scale, thematic layers, and feature classification types. The structure generally follows the organization of VPF data, the most complex and common data type in the GIDB database. The combination of data structure and spatial indexing facilitates storage of data with worldwide coverage and efficient retrieval for a given area of interest.
Since its inception, the GIDB System has been gradually moving from a monolithic to a truly distributed database system. The latest step in this migration has been the development of the GIDB portal, which allows for connection to and retrieval from many disparate databases, in addition to the GIDB Ozone database. With the widespread use of the Internet, many new sources of geospatial data are available for access. Since storage of the plethora of new data available within a single database system would be impractical, the DMAP team has instead focused on accessing these data sources directly through a GIDB portal. The GIDB portal establishes a common data request format and a common data transfer format. The GIDB mapping application, as well as any other application that interfaces with this common data transfer format, is able to make use of the data that the portal accesses. Use of the GIDB portal allows retrieval of data from many existing data repositories, regardless of whether they are relational, hybrid, or pure OO database management systems. It is important to note that no changes are required by the data source providers in order for the GIDB portal to access the data. All translation of the data from native format to the common transfer format occurs within the portal. For each new type of data source, a driver is written to perform this translation, and this new driver becomes a part of the overall GIDB portal. Each driver provides a common interface between the data source and the GIDB System, hiding the underlying details of how the data source is accessed. Figure 13.1 shows the overall GIDB System architecture.
The overwhelming success of the GIDB System has been due in part to its ability to take advantage of new technologies and standards as they become available. The focus of the rest of this chapter is on how the GIDB System has utilized XML (Walmsley 2002) and XML-based standards to expand its mapping portal capabilities. Initially, a driver was written for the portal to access meteorological and oceanographic data, using an XML catalog to determine the available data and how to retrieve it. Additionally, the DMAP team developed a driver to allow for a portal connection to OpenGIS Consortium (OGC) Web Map Service (WMS) compliant data providers on the Internet. Finally, the DMAP team has implemented the capability to read and write vector data in the OGC's Geographic Markup Language (GML) format (Cox et al. 2001), an XML-based specification for standard data interchange with other Geographic Information System (GIS) applications.