This chapter reviews the approaches for organizing and maintaining data in a GIS. The focus is on reviewing different techniques for storing spatial data. A brief review of data querying approaches for attribute data is also provided. The second necessary component for a GIS is the data storage and retrieval subsystem. This subsystem organizes the data, both spatial and attribute, in a form which permits it to be quickly retrieved for updating, querying, and analysis. Most GIS software utilizes proprietary software for their spatial editing and retrieval system, and a database management system (DBMS) for their attribute storage. Typically, an internal data model is used to store primary attribute data associated with the topological definition of the spatial data. Most often these internal database tables contain primary columns such as area, perimeter, length, and internal feature id number. Often thematic attribute data is maintained in an external DBMS that is linked to the spatial data via the internal database table. Most GIS software organizes spatial data in a thematic approach that categorizes data in vertical layers. The definition of layers is fully dependent on the organizations requirements. Typical layers used in natural resource management agencies or companies include forest cover, soil classification, elevation, road network (access), ecological areas, hydrology, etc. Spatial data layers are commonly input one at a time, e.g. forest cover. Accordingly, attribute data is entered one layer at a time. Depending on the attribute data model used by the data storage subsystem data must be organized in a format that will facilitate the manipulation and analysis tasks that will be required. Most often, the spatial and attribute data may be entered at different times and linked together later. However, this is fully dependent on the source of data.
It is mandatory that GIS users fully understand their needs before undertaking a GIS project.
Spatial Data Layers - Vertical Data Organization In most GIS software data is organized in themes as data layers. This approach allows data to be input as separate themes and overlaid based on analysis requirements. This can conceptualized as vertical layering the characteristics of the earth's surface. The overlay concept is so natural to cartographers and natural resource specialists that it has been built into the design of most CAD vector systems as well. The overlay/layer approach used in CAD systems is used to separate major classes of spatial features. This concept is also used to logically order data in most GIS software. The terminology may differ between GIS software, but the approach is the same. A variety of terms are used to define data layers in commercial GIS software. These include themes, coverages, layers, levels, objects, and feature classes. Data layer and theme are the most common and the least proprietary to any particular GIS software and accordingly, as used throughout the book. In any GIS project a variety of data layers will be required. These must be identified before the project is started and a priority given to the input or digitizing of the spatial data layers. This is mandatory, as often one data layer contains features that are coincident with another, e.g. lakes can be used to define polygons within the forest inventory data layer. Data layers are commonly defined based on the needs of the user and the availability of data. They are completely user definable.
When considering the physical requirements of the GIS software it is important to understand that two types of data are required for each layer, attribute and spatial data. Commonly, data layers are input into the GIS one layer at a time. As well, often a data layer is completely loaded, e.g. graphic conversion, editing, topological building, attribute conversion, linking, and verification, before the next data layer is started. Because there are several steps involved in completely loading a data layer it can become very confusing if many layers are loaded at once. The proper identification of layers prior to starting data input is critical. The identification of data layers is often achieved through a user needs analysis. The user needs analysis performs several functions including :
Often a user needs assessment will include a review of existing operations, e.g. sometimes called a situational assessment, and a cost-benefit analysis. The cost-benefit process is well established in conventional data processing and serves as the mechanism to justify acquisition of hardware and software. It defines and compares costs against potential benefits. Most institutions will require this step before a GIS acquisition can be undertaken. Most GIS projects integrate data layers to create derived themes or layers that represent the result of some calculation or geographic model, e.g. forest merchantability, land use suitability, etc. Derived data layers are completely dependant on the aim of the project. Each data layer would be input individually and topologically integrated to create combined data layers. Based on the data model, e.g. vector or raster, and the topological structure, selected data analysis functions could be undertaken. It is important to note that in vector based GIS software the topological structure defined can only be traversed by means of unique labels to every feature. Spatial Indexing - Horizontal Data Organization The proprietary organization of data layers in a horizontal fashion within a GIS is known as spatial indexing. Spatial indexing is the method utilized by the software to store and retrieve spatial data. A variety of different strategies exist for speeding up the spatial feature retrieval process within a GIS software product. Most involve the partitioning of the geographic area into manageable subsets or tiles. These tiles are then indexed mathematically, e.g. by quadtrees, by R (rectangle) trees, to allow for quick searching and retrieval when querying is initiated by a user. Spatial indexing is analygous to the definition of map sheets, except that specific indexing techniques are used to access data across map sheet (tile) boundaries. This is done simply to improve query performance for large data sets that span multiple map sheets, and to ensure data integrity across map sheet boundaries. The method and process of spatial indexing is usually transparent to the user. However, it becomes very important especially when large data sets are utilized. The notion of spatial indexing has become increasingly important in the design of GIS software over the last few years, as larger scale applications have been initiated using GIS technology. Users have found that often the response time in querying very large data sets is unacceptably slow. GIS software vendors have responded by developing sophisticated algorithms to index and retrieve spatial data. It is important to note that raster systems, by the nature of their data structure, do not typically require a spatial indexing method. The raster approach imposes regular, readily addressable partitions on the data universe intrinsically with its data structure. Accordingly, spatial indexing is usually not required. However, the more sophisticated vector GIS does require a method to quickly retrieve spatial objects. The horizontal indexing of spatial data within GIS software involves several issues. These concern the extent of the spatial indexing approach. They include :
While all these issues need not be satisfied for spatial indexing to occur, they are important aspects users should consider when evaluating GIS software. While the spatial indexing method is usually not the selling point of any GIS, users should consider these requirements, especially if very large data sets, e.g. 10,000 + polygons, are to be the norm in their applications, and a vector data model is to be employed. Perhaps the primary function in the data storage and retrieval subsystem involves the editing and updating of data. Frequently, the following data editing capabilities are required :
Updating involves more than the simple editing of features. Updating implies the resurvey and processing of new information. The updating function is of great importance during any GIS project. The life span of most digital data can range anywhere from 1 to 10 years. Commonly, digital data is valid for 5 to 10 years. The lengthy time span is due to the intensive task of data capture and input. However, often periodic data updates are required. These frequently involve an increased accuracy and/or detail of the data layer. Changes in classification standards and procedures may necessitate such updates. Updates to a forest cover data layer to reflect changes from a forest fire burn or a harvest cut are typical examples. Many times data updates are required based on the results of a derived GIS product. The generation of a derived product may identify blatant errors or inappropriate classes for a particular layer. When this occurs updating of the data is required. In this situation the GIS operator usually has some previous experience or knowledge of the study area. Commonly the data update process is a result of a physical change in the geographic landscape. Forest fires are a prime example. With this type of update new features are usually required for the data layer, e.g. burn polygons. As well, existing features are altered, e.g. forest stands that were affected. There is a strong requirement for a historical record keeping capability with this type of update process. Users should be aware of this requirement and design their database organization to accommodate such needs. Depending on the particular GIS, the update process may involve some data manipulation and analysis functions. The ability to query and retrieve data based on some user defined criteria is a necessary feature of the data storage and retrieval subsystem.
The ability to retrieve data is based on the unique structure of the DBMS and command interfaces are commonly provided with the software. Most GIS software also provides a programming subroutine library, or macro language, so the user can write their own specific data retrieval routines if required. Querying is the capability to retrieve data, usually a data subset, based on some user defined formula. These data subsets are often referred to as logical views. Often the querying is closely linked to the data manipulation and analysis subsystem. Many GIS software offerings have attempted to standardize their querying capability by use of a Standard Query Language (SQL). This is especially true with systems that make use of an external relational DBMS. Through the use of SQL, GIS software can interface to a variety of different DBMS packages. This approach provides the user with the flexibility to select their own DBMS. This has direct implications if the organization has an existing DBMS that is being used for to satisfy other business requirements. Often it is desirable for the same DBMS to be utilized in the GIS applications. This notion of integrating the GIS software to utilize an existing DBMS through standards is referred to as corporate or enterprise GIS. With the migration of GIS technology from being a research tool to being a decision support tool there is a requirement for it to be totally integrated with existing corporate activities, including accounting, reporting, and business functions. There is a definite trend in the GIS marketplace towards a generic interface with external relational DBMS's. The use of an external DBMS, linked via a SQL interface, is becoming the norm. A flexibility as such is a strong selling point for any GIS. SQL is quickly becoming a standard in the GIS software marketplace. |