Landscape and SDE

Internet Spatial Data Viewing

Spatial data, the foundation of all GIS applications, has become a fundamental data asset in many organizations. With the increase in popularity of GIS technology, data visualization, data fusion and Internet technologies, the use and distribution of spatial data has become a key requirement for many systems. Developed for the BC government's visionary LandDataBC project, MacDonald Dettwiler's Landscape map viewer provides the ability, over the Internet or Intranet, to display and roam through GIS data and raster data assets. Using the power of the Esri SDE, map data can be rapidly served to the Landscape viewer in answer to a user's query. This provides a platform independent, zero-cost per client seat solution for the data discovery and data dissemination needs of today's leading industries and government agencies.

Introduction

The world is currently in the grasp of a variety of powerful trends and initiatives related to the GIS and spatial data world. GIS technology, like the Esri SDE, and the use of GIS is becoming an important aspect of industry competitiveness, not only for higher productivity and the effective use of resources, but also in the areas of data visualization and the dissemination of information. Database and GIS manufacturers are finding themselves at odds, as each rushes to provide a solution to access and store spatial information in existing data solutions. One solution, Esri's SDE has shown the ability to deliver spatial data rapidly.

A second powerful trend is that of the Internet and its promise of data publishing and data discovery. Many government agencies and commercial industries are finding the Internet provides a way to disseminate their information and products which is not only globally accessible but also cost effective. The third powerful trend, which is influenced by the first two, is the trend of governments to improve access to their data holdings for the benefit of their cooperating agencies and public citizens. Currently in the U.S. the requirement to disseminate government spatial data holdings was mandated through the NSDI and FGDC initiatives.

Although there is no equivalent Canadian mandate, visionary government agencies have begun their own initiatives: LandDataBC and CEONet to name two. The BC government's LandDataBC project; a system designed to provide consistent, uncomplicated access to land-related information held by the various agencies and ministries of the Government of British Columbia.

Requirements

The LandDataBC customer has had years of experience with land-related data and associated technologies. They have had a prototype version of the LandDataBC system for several years and have used it operationally. As well, they have had discussions with their end-users on how to improve upon the prototype and provide even better value it the full system. All of this experience and knowledge was used in determining the requirements for the LandDataBC interface.

The LandDataBC interface had to present to the user a unified view of the data ordering and delivery process. Specification of the order parameters, which included a spatial region of interest had to be done in the most intuitive way possible. To achieve this it would be necessary to display a functional map to the user which they could pan and zoom and then mark a region of interest. The majority of the users were experienced GIS users so it was important that the information was displayed in the original vector format, a gif image was not suitable for this group of users. As a matter of added complexity the information which the map viewer would have to display included not only the index maps for data discovery but also the vector data which was ordered. The ordered data came from a vast data store in a large variety of different formats, all of which needed to be supported The ability to view the ordered data provided the user with a quality assurance step that the proper data had been delivered before exporting the data to the application, normally a GIS system. The estimated number of users for the system was set at 10,000 people so the LandDataBC interface needed to be globally available and cost-effective. MacDonald Dettwiler was asked to develop a specialized map viewer component. MacDonald Dettwiler called the map viewer Landscape and used the Java programming language to meet this need and go beyond it. To serve the map data at a speed which could meet such difficult requirements a powerful spatial server was needed. At the time, there were none on the market, and then Esri announced their SDE. MacDonald Dettwiler entered into a business partnership with Esri and began work with the SDE.

Data Viewing Architecture

The LandDataBC's data viewing architecture is comprised of three main components: the Visual Interface, the Server Manager and the Esri SDE. The Visual Interface uses a set of HTML pages using Javascript and interoperates with the Java Landscape viewer to provide a unified interface to the user. Hyper-textual information is provided in the HTML pages and spatial information is provided in the Landscape map viewer, this includes both vector data and raster information. The Server Manager maintains a set of open connections to the SDE and balances the load caused by concurrent user access. The Server Manager maintains the performance level of the server. The Esri SDE engine provides the spatially indexed map data which can be pulled either in full mapsheets or in sub-sheets. To support this architecture Landscape contains a variety of internal tools each with a defined function: dataset manager, data loading, spatial indexing, coordinate projection, data viewing, marking regions of interest, attribute data viewing and the application programming interface.

Dataset Manager

Landscape uses a layered concept of datasets to store its information. Each dataset has a set of symbology and colors associated with it as well as a place in the hierarchy of layers. Layers are drawn in the order they are loaded unless the user reorganizes them. Layers have scale ranges associated with them which tell Landscape at what level of detail this dataset is visible. Using this feature, layers of increasing detail can be loaded as the user zooms past the scale range of the previous dataset.

Landscape provides interactive controls which the user can use to reorganize the order of the layers and therefore the drawing order. Landscape automatically places raster datasets in the lowest layer to ensure that the vector data is being drawn on top and the raster is being used as an underlay. The datasets controls also permit the user to set the visibility and selectability of a data layer. If the layer is not visible, then it will not be drawn and if it is not selectable, then the various map objects (selectable objects which have associated data or meaning) will not be selectable. Other features include: deleting a layer and loading a new dataset.

Data Loading

Currently, Landscape supports a variety of formats with a modular facility to add new ones quickly. Those that are currently supported are: Esri E00, Esri Shape, MapInfo MIF and with Intergraph IGDS. Vector datasets have a wide range in size, mostly dependent on the complexity of the vector data presented. A tradeoff between data complexity and network capacity needs to be made to keep the interface reactive to the user's needs.

The ability to load raster data (georeferenced images) into the map viewer is also supported. Landscape currently supports gif, JPEG and TIFF files with a supplementary metadata file (contains positioning information). These images typically are air photos, satellite images or processed satellite images (such as land-use maps) which can be layered under the vector data.

An interesting architectural ability in the data loader, is that each of the datasets is loaded in parallel. Once the first dataset is loaded and displayed the user can immediately start using Landscape, even if more complex datasets have not yet completed loading. To assist the user, a data loading progress monitor is displayed which shows the status of each load thread. Furthermore, Landscape is capable of dynamically loading GIS data on an as-needed basis and dynamically unloading GIS data on a least-used basis. The Esri SDE engine is used to provide on-demand map layers to Landscape as needed. This powerful and flexible feature even facilitates the use of multiple distributed SDE servers for different portions of the index map. For example, BC data could come from a Victoria-based server while Nova Scotian data came from a server in Halifax but all of it would appear seamless to the user.

Spatial Indexing

Once the data has been loaded, Landscape then spatially indexes the information, using the information from the SDE server to set it properly into a series of pre-defined collections. This functionality allows Landscape to rapidly display the region which the user is viewing and facilitates the selection of map objects. When the user is in "selection" mode and clicks on a map object, Landscape uses its spatial collections to rapidly locate the object, highlight it in the display and show the related attribute information, if it is available.

Data Viewing

Landscape provides two distinct levels of data viewing: overview and main view. The overview window remains at a constant 7 times zoom factor higher than the main view, and automatically tracks all roaming activity performed in the main view. This provides context to the user who may be heavily zoomed into a medium complexity dataset. At the highest level the overview window typically contains a world map but any map data can be specified. The main view is the interactive area which the user operates in. The main view also has a scale ruler on its left side which provides the user with a quick way of determining the current map scale range being viewed.

Landscape includes a set of algorithms which determine the dynamic generalization of the map data. All of the data which Landscape loads has a scale range associated with it which determines at what zoom level it becomes visible. As you zoom into a dataset more detailed maps will be displayed so that you could start with a provincial map and get down to a detailed road map of Vancouver. A raster dataset is drawn first and then the vectors are layered on top. Raster datasets can also be layered to generate non-overlapping image mosaics.

To navigate the data Landscape provides the standard zoom and pan functions including a zoom out fully function allowing the user to restart at the highest level. Other functions allow the user to calculate distances between two points and determine the latitude/longitude position under the mouse pointer.

Coordinate Projection

Since Landscape supports GIS datasets, as opposed to a raster images generated from vector data, it has the ability to project and re-project vector datasets. Landscape supports a variety of different map projections: UTM, Albers Equal Area, Lambert Conformal Conic, Polyconic and Geographic. Landscape supports the simultaneous use of these different projections in the overview and in the main view. It even supports different projections for datasets which are at different scale ranges, dynamically projecting as the user zooms into the map.

This flexibility allows Landscape to provide the vector data in the most appropriate projection for the given dataset and scale range, allowing the user to work in the most comfortable projection for their work.

Marking Regions of Interest

Consistent with its role in data discovery Landscape provides a powerful set of functions to interactively define regions of interest and manipulate them. The region of interest can be specified using one or a combination of: buffered points (circles), rectangles, free-form polygons or the selection of map objects from the visible and selectable data layers.

These regions can be saved and re-loaded at a later time and in the LandDataBC system there is also the ability to share these regions with other users in the same "group". These powerful features allow the user to spatially qualify their searches. In LandDataBC, the spatial region is supplemented with keywords, topics and temporal constraints to perform a query on the metadata catalog.

Attribute Data Viewing

Landscape's Table Viewer is a companion application which uses a table format to display the attribute information associated with a map object. The user switches to "select" mode and then picks a map object from the visible and selectable data layers. The attribute information for the selected map object will be displayed in the Table Viewer. The highlighted map objects and the attribute data are strongly linked, so that a selection in one toolreflected in the other. This provides the user with a powerful, integrated and effective tool for querying objects in the map for more details.

Application Programming Interface (API)

Landscape supports an Javascript API which allows HTML page authors to invoke all the functionality available to the interacting user. Using this API, the coordinates of the specified region of interest can be copied into a companion HTML form's textfield. Other abilities include loading new datasets when the user clicks on a button in the HTML page or zooming the map display to a particular location. The possibilities are varied and many and include a set of calls to the SDE server layer.

Conclusion

With the trends in exploitation of GIS and data visualization, mandates of government agencies turning to the dissemination of data and the undeniable access to data which the Internet provides; displaying and examining spatial data over the Internet, is a rapid and effective manner, is a prime requirement. The requirement encompasses the need for a platform-independent and universally applicable way to view GIS. A requirement which MacDonald Dettwiler's Landscape map viewer architecture, using the power of the Esri SDE spatial engine, is well designed and positioned to meet.

Acknowledgments

Bill Anderson, Environment, Lands and Parks, British Columbia

GDBC Staff, Envirnment, Lands and Parks, British Columbia

John Geddes, Spatial Data Systems' Program Manager, MacDonald Dettwiler

Eric Hawthorne, Chief Architect of the Landscape Map Viewer, MacDonald Dettwiler

Bios

Mark Dostie is an Architect of MacDonald Dettwiler's Land Information Infrastructures and the Product Manager for the Landscape Map Viewer with Esri SDE servers. He has worked extensively with various agencies and enterprises in helping them deal with their spatial data management problems. His experienced has been gained in initiatives located in Canada, Japan and the United States and in the development of innovative technology solutions for information management at MacDonald Dettwiler.

Dostie, Mark

Architect - Land Information Infrastructures

MacDonald Dettwiler

13800 Commerce Parkway

Richmond, BC

Canada

V6V 2J3

Phone: (604) 278-3411

Fax: (604) 278-2936
MacDonald Dettwiler on the Internet