interchange, analysis, and geographical data visualization. The rapid evolution .... database servers with support to spatial dimension, such as Oracle, IBM DB2,.
Category: Environmental Informatics
4053
Web-Based GIS
W
Anselmo Cardoso de Paiva University of Maranhão, Brazil Cláudio de Souza Baptista University of Campina Grande, Brazil
INTRODUCTION Currently, the Internet is becoming the main vehicle for publishing geographical information, which enables data interchange, analysis, and geographical data visualization. The rapid evolution of Web technology has lead to an improvement of the geographical information utilization and availability. The rise of the Internet has created an infrastructure ideally suited to the widespread distribution and dissemination of geographical information. By using Internet GIS applications, users may view, query, analyze, and download spatial information from anywhere at anytime. While this improvement provides new opportunities for public domain as well as commercial use of spatial datasets, new problems arise. One of them is the problem of transferring data efficiently from server to client. Geographical datasets are generally very large, and this process may demand too much time. The Internet has created an interesting environment for geospatial data sharing, in which data providers make their databases available through the Web, and users may transfer, visualize, manipulate, and interact with them (Bertolotto & Egenhofer, 1999). This environment introduces new problems that must be addressed to make possible an efficient and effective use of these datasets. One such problem is related to the availability of huge geospatial data amounts in repositories with limited connection bandwidth (Flewelling & Egenhofer, 1999). One of the main concerns on Web-based geographical information systems (Web GIS) is related to performance issues, as these datasets need to migrate, as fast as possible, from server to client tiers (Peng & Tsou, 2003). This is the problem of generation and transmission of the digital maps, which are suitable for user needs. Another important issue is to enable fast and easy Internet GIS application deployment. In this chapter, we discuss solutions proposed for Web GIS based on the vector format, particularly the iGIS framework (Baptista, Leite Jr., Silva, & Paiva, 2004). The iGIS is a Web GIS that renders maps using multiresolution techniques, and enables user interaction them, using the W3C SVG specification. The chapter also addresses the issues that affect Web GIS performance, presenting an overview of the techniques
that increase Web GIS performance and the results obtained by using the iGIS framework.
BACKGROUND Web GIS applications evolved from the delivery of static maps conveyed in raster formats (e.g., JPEG, GIF, PNG) to an actual stage in which users may choose the window, the scale, and possibly also the data layers to be displayed, and the map is generated dynamically from a database and transmitted in the vector format. Web mapping deals at least with two basic problems: map generation, and map transmission. Regarding map generation, there are, basically, two approaches. The first one is based on the use of a database that stores geometry information at the most precise scale, and each visualization at less precise scales are automatically derived from that, mainly through cartographic generalization (Müller, Lagrange, Weibel, & Salgé, 1995; Weibel & Dutton, 1999). This implies the execution of map generalization procedures on the fly (Harrie, Sarjakoski, & Lehto, 2002; Lehto & Kilpelainem, 2001). The second approach utilizes a multiresolution database in which spatial objects may be associated to a variety of geometric representations that are scale dependant (Zhou, Prasher, & Kitsuregawa, 2001). In this case, it is necessary to process an off-line computation of a multiscale database containing several independent levels of detail. Associated with the map generation problem, there is also the problem of vector map transmission. A possible solution is the use of progressive data transmission that is well known and successfully applied to raster images, in which coarser versions of the data are displayed before the complete image is downloaded. One of the first works on progressive vector data transmission on the Internet has been proposed by Buttenfield (1999, 2002). His work focuses on the hierarchical subdivision of vector data by using tree structures based on the Douglas-Peucker generalization algorithm (Douglas & Peucker, 1973) similarly to the BLG tree by (Oosterom & Schenkelaars, 1995).
Copyright © 2009, IGI Global, distributing in print or electronic forms without written permission of IGI Global is prohibited.
Web-Based GIS
Bertolloto and Engenhofer (2001) did a work based on progressive transmission of vector data in conjunction with on-the-fly mapping over the Internet. They proposed the creation of multiple dataset representations corresponding to different levels of details. These levels of details are then sequentially transmitted and added to the currently displayed representation. Although the proposal is very interesting, it remains an open issue; the integration of two different levels of details dataset on the client side in a way that maintains the visualization completely and correctly at each step.
wEB-BASED GIS: DEVELOPMENT TOOLS AND PERFORMANCE ANALYSIS The iGIS framework makes it possible and easy to build a GIS application in few minutes. By configuring an XML file using the deployment tool, a user can put any application online. Firstly, it is necessary to populate the database. Then, the user sets data location by providing the parameters: login, password, and database URL; the layers to be displayed; the colors that are going to be used; and other parameters. The iGIS architecture is based on three tiers: presentation, application, and database. In the presentation layer, Java Server Pages, JSP, are used for implementing dynamic pages. Scalar vector graphics (SVG) format and JavaScript are used for map drawings and graphical tools. SVG was chosen due to many reasons including the fact of being a W3C recommendation; the ability of using vector maps with client manipulation operations such as zooming and panning; and map data compression. The application layer is responsible for the business logic, and it is composed of the following modules: •
• •
•
Data loader, which is responsible for loading data from different data sources, configured in XML. To add a new data source, it is necessary to extend some classes from this package; Application data model, which uses the OpenGeoSpatial Simple Features standard for implementing the system logic classes; Data formatter, which formats data according to the rendering type chosen. This module is extensible and is configured using XML. Currently, the iGIS uses SVG for rendering; and Static maps, which loads and stores SVG maps, improving system performance.
Finally, the data layer contains different data sources. Currently, there are drivers for Oracle, IBM DB2, and Postgresql database servers, and spatial data in ESRI shapefile
4054
format. Again, this module can be extended to support other data source types. iGIS copes with spatial and nonspatial data in an integrated way: both data types are stored in the database server and manipulated via data manipulation language and data definition language statements. For example, information about a hospital would include name, address, number of rooms, physicians, equipment, and its latitude and longitude coordinates. Fortunately, there are several database servers with support to spatial dimension, such as Oracle, IBM DB2, Postgresql, MySQL, and, more recently, the Microsoft SQL Server. Therefore, by using SQL statements, users may submit spatial queries together with nonspatial ones. iGIS works with different measure units that facilitate internationalization. Moreover, iGIS implements multiresolution by enabling users to navigate through several levels of detail in a map. For example, an application initially presents information at country level of detail. Then, after some operations of zooming in, it can present information at state level of detail, then at city level, and so on. In order to achieve that, iGIS deals with static and dynamic map generation. On the other side, it is also important to address the aspects that affect the Web GIS performance once it is required to a Web-based GIS an efficient data transmission for the publication of spatial information. Furthermore, the provision of adapted data to heterogeneous clients, which may range from mobile to desktop ones, is another important requirement. Thus, the use of optimization techniques in order to obtain both data reduction and just-in-time delivery mechanism are also relevant to reach high performance. Some of these techniques, as pointed out by Baptista, Nunes, Sousa, Silva, Leite Jr., and Paiva (2005), are data simplification, relative coordinates, static maps, multiresolution, compression, ondemand loading, and progressive transmission. Data simplification is one of the most used techniques for Web GIS optimization. Depending on user needs, a more detailed view may be required in map rendering. However, for some users, it is enough to have a broader view of map contents and some details in few zoom levels. Hence, map rendering can be done according to the details required by users. Moreover, maps are rendered for clients using their specific resolution, which may also introduce information loss. Data simplification is a process that identifies, a priori, the map information that can be omitted, and removes it before map transmission.The amount of transmitted data without loss in visual quality is reduced. Map coordinates are generally set with high precision; consequently, the number of points is too large. The simplification process will reduce the number of transmitted points. In general, vector graphics languages accept the representation of polygonal in two ways: using either absolute
Web-Based GIS
or relative coordinates. Absolute coordinates specify each point position based on a fixed coordinate system. Relative coordinates express each point position in either a polyline or a polygon based on the previous point position. A point expressed using relative coordinates represents the translation of the absolute coordinate point relative to the previous point in either polyline or polygon description. The initial point is always expressed using absolute coordinates. A Web GIS usually stores its maps in a spatial database system. Hence, each user session needs both to establish a connection to the database system and to load the data. This loading process is time consuming, as a spatial query is executed and the resulting set must be transformed according to the GIS output format, such as SVG, Flash, WebCGM, and so on. As most Web GIS applications are read-only, it is worthy to load these maps statically as soon as they are needed. Thus, the first access to the required map will take more time to be rendered then next access, as the spatial query will be executed, and the transformation for the specific output format will be done. Nonetheless, next accesses to this map will be fast, as it is already formatted in an appropriate transmission format. Let us consider a map that contains country, city, street, and quarter layers. A better performance can be achieved if maps are presented in different levels of detail. This is the purpose of multiresolution procedure. Multiresolution divides the maps into cells, forming a hierarchy. Hence, detailed maps are presented progressively (such as streets) as the user zooms in. Each multiresolution level in the hierarchy has a number of zoom levels, and when the last one is reached, the next zooming operation points to another level. The first level is divided into nine subregions, called cells; each of these is represented in a file. The overlapping of cells is necessary to enable the implementation on the client-side of the pan visualization operation. Each cell adopts the same procedure, that is, it has a number of zoom levels, and then it is subdivided into nine cells, and so on. This subdivision is done recursively, until the last level of multiresolution is reached. A cell is sent to a client only when it reaches the map representing it. This procedure tends to reduce data transmission. Paiva, Silva, Leite Jr., and Baptista (2004) explain this procedure with more detail. On-demand map loading is another alternative to increase the availability of maps to Web GIS. It has been defined as the creation of a map upon user request, with the following features: appropriated scale; addressing the chosen area of interest; and focus on the required purpose. Thus, the map geometries are transmitted to the client on the fly, through either a zooming or panning operation. This approach is based on two main concepts: layer visibility and map window.
The layer visibility concept defines that each map layer has a range of scales in which it is visible. This is a common organization task in map generation to avoid the map pollution confounding the user. Thus, at a given scale, some layers may be invisible, and this contributes to the map understanding. The map window concept defines a region of interest from all geographical databases in which the user is interested; this defines a rectangle area that must be used to clip all the features that do not need to be integrated into the map because they will not be visualized. When a user requests a map, the client sends to the map server a window, and this window is used to locate all the geographic features in the database that intercept it. As the user requests a change in the interest area (e.g., a pan operation) or in the current map scale (e.g., a zoom operation), the map server will generate a new map appropriated to user request, and will send it to the client side. Apparently, this process may seem slow, but for some class of maps with a large amount of geographical data, this process may improve map visualization performance. Finally, another important aspect that must be used to improve the performance of Web GIS is the progressive transmission. In the progressive transmission, the map server divides the map into a low-resolution version and a set of incremental versions that, when incorporated to a certain map version, will generate a more detailed map version. The client is responsible for receiving a map detail increment at some level n, and for integrating it into the current map version, which generates a map version at level n+1. Other approaches to this problem explore device restrictions, like visualization resolution. This can determine the level of detail that can be visualized in a specific device. In general, the device can represent less detailed information than the amount that is sent by the map server. The level of detail that cannot be visualized increases the transmission cost, and does not improve the quality of the map visualized by the client. Thus, the elimination of such information reduces response time at the client side without compromising map quality. Baptista et al. (2005) present an evaluation of the impact of some of these techniques, and we may see that with a combination of these techniques, we may obtain about 63% in the improvement of performance. This was achieved using GZIP filter, simplification with precision value three, and relative coordinate techniques. Additionally, Costa, Paiva, Teixeira, Baptista, and Silva (2006) present a progressive transmission scheme for the iGIS Web mapping framework. The proposed scheme enables the Internet GIS developer to plan a scale discretization for multiple levels of detail in offline maps. This approach provides, to the user application, a more efficient environment to visualize and interact with geographic data, especially when considering low bandwidth networks. 4055
W
Web-Based GIS
The proposed scheme is based on the visualization device resolution. The map features are simplified and a compact map representation is generated, aiming to improve response time. To evaluate the impact of our proposed scheme in the visualization task, several experiments were performed. The experimental results have demonstrated that the amount of information transmitted is significantly less in our proposed scheme, being, therefore, very effective for Web-mapping systems.
FUTURE TRENDS We also expect that soon, we will make the transition from the historical 2-D planimetric maps to the 3-D view of the terrain, completely integrated with a set of multimedia information. Finally, a major challenge is the integration of current technologies to generate the 4-D GIS (XYZ and time). This will open the way for integration with predictive modeling, to introduce a look into the future, or more traditionally, study the dynamics of various phenomena.
CONCLUSION This chapter focused on the theme of Web-based GIS. Web GIS is becoming very popular, especially due to the high variety of open source solutions, such as Degree, GeoTools, GeoServer, Mapserver, and others, which makes this complex technological solution more affordable. We conclude that, most of the time, the proposed optimal solutions, which maximize performance and accuracy of spatial data, may be employed. These solutions are very useful when there are constraints on both network bandwidth and device memory and screen sizes, as it is the case of mobile phones.
Bertolotto, M., & Egenhofer, M. (1999). Progressive vector transmission. In C. B. Medeiros (Ed.), 7th ACM international symposium on Advances in geographic information systems. (pp.152-157). Kansas City, MO: ACM. Bertolotto, M., & Egenhofer, M. (2001). Progressive transmission of vector map data over the World Wide Web. GeoInformatica, 5(4), 345-373. Buttenfield, B. (1999). Progressive transmission of vector data on the Internet: A cartographic solution. In 19th ICA/ACI Conference (pp. 581-590). Ottawa. Buttenfield, B. (2002). Transmitting vector geospatial data across the Internet. In M. J. Egenhofer & D. M. Mark (Eds.), Second International Conference: Vol. 2478/2002. Geographic Information Science (pp. 51-64). Berlin: Springer Berlin/Heidelberg. Costa, D. C., Paiva, A. C., Teixeira, M. M., Baptista, C. S., & Silva, E. R. (2006). A progressive transmission scheme for vector maps in low-bandwidth environments based on device rendering. In Advances in Conceptual Modeling - Theory and Practice (pp. 150-159). Tucson, AZ, USA: Springer Berlin/Heidelberg. Douglas, D., & Peucker, T. (1973). Algorithms for the reduction of the number of points required to represent a digitalized line or its caricature. The Canadian Cartographer, 10(2), 112-122. Flewelling, D., & Egenhofer, M. (2002). Using digital spatial archives effectively. International Journal of Geographical Information Science, 13(8), 1-8. Harrie, L., Sarjakoski, T., & Lehto, L. (2002). A variable-scale map for small display cartography. In Joint International Symposium on Geoespatial Theory. Ottawa.
REFERENCES
Lehto, L., & Kilpelainem, T. (2001). Generalizing XML-encoded spatial data on the Web. In 20th ICA/ACI Conference: Vol. 4 (pp. 2390-2398). Beijing, China.
Baptista, C. S., Leite Jr., F. L., Silva, E. R., & Paiva, A. C. (2004). Using open source GIS in e-government applications. In Electronic Government (pp. 428-421). Zaragoza, Spain: Springer Berlin/Heidelberg.
Müller, J. C., Lagrange, J. P., Weibel, R., & Salgé, F. (1995). Generalization: State of the art and issues. In J. C. Müller, J.P. Lagrange, & R. Weibel (Eds.), GIS and generalization: Methodology and practice (pp. 3-17). London, U.K: Taylor & Francis.
Baptista, C. S., Nunes, C. P., Sousa, A. G., Silva, E. R., Leite Jr., F. L., & Paiva, A. C. (2005). On performance evaluation of Web GIS applications. In 16th International Conference on Database and Expert Systems Applications. DEXA Workshops (pp. 497-501). Copenhagen, Denmark: IEEE Computer Society.
Oosterom, P., & V. Schenkelaars, V. (1995). The development of an interactive multiscale GIS. In International Journal of Geographic Information Systems, 9(5), 489-507.
4056
Paiva, A. C., Silva, E. R., Leite Jr., F. L., & Baptista, C. S. (2004). A multiresolution approach for Internet GIS applications. In 15th International Workshop on Database
Web-Based GIS
and Expert Systems Applications. DEXA Workshops (pp. 809-813). Zaragoza, Spain: IEEE Press. Peng, Z,. & Tsou, M. (2003). Internet GIS: Distributed geographic information services for the Internet and wireless networks. John Wiley & Sons. Weibel, R., & Dutton, G. (1999). Generalizing spatial data and dealing with multiple representations. In P. Longley, M. F. Goodchild, D. J. Maguire, & D. W. Rhind (Eds.), Geographical information systems: Principles, techniques, management and applications, vol. 1, (2nd ed,) (pp. 125155). Cambridge: Geoinformation International. Zhou, X., Prasher, S., & Kitsuregawa, M. (2002). Database support for spatial generalisation for WWW and mobile applications. In 3rd International Conference on Web Information Systems Engineering, WISE (pp. 239-246). Singapore: IEEE Computer Society.
KEY TERMS Framework: A set of software components that provides a foundation structure for an application. Frameworks maximize developer productivity and produce more reliable code, as there is reuse of already tested code, which enables not writing an application from scratch.
GIS: Geographical information system is a system of hardware and software used for storage, retrieval, mapping, and analysis of geographic data. Map Simplification: A set of algorithms to find simpler representations for each map object. Multiresolution: A strategy to construct different representations of vector maps in different scales based on the construction of the map objects simplification. On-Demand Map Loading: A scheme for map transmission that sends, to the client, just the map portion that is being visualized. Progressive Transmission: Map transmission scheme in which the map server divides the map into a low-resolution version and a set of incremental versions that, once incorporated to a certain map version, will generate a more detailed map version. Spatial Operators: Set of SQL operators to deal with the spatial dimension of the data, and making possible the definition of spatial queries. SVG: Scalar vector graphics, is an XML specification of the W3C to deal with vectors graphics in the web.
4057
W