Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
MapServer : open source GIS development
Kropla B., APress, LP, Berkeley, CA, 2005. 448 pp. Type: Book (9781590594902)
Date Reviewed: Jan 27 2006

This concise and easily readable work is very hands-on, and is paved with examples. It is a refreshing addition to engineering bookshelves. Some knowledge of programming and Web operations is needed to go through the examples, but the strength of the book is that no prior knowledge of geographic information systems (GIS) is needed. This allows any developer to dive into the world of map rendering progressively. The book opens a door that many developers imagine closed, and demystifies map rendering. After reading the book, an assiduous programmer should be able to install MapServer, and use it in GIS or spatially based systems of increasing complexity. Geo-specific knowledge is introduced in the book whenever needed, to illustrate how MapServer operates.

By describing the limits of MapServer, the author not only explains what a novice needs to know about GIS, but also clarifies how MapServer would relate to such systems. Map rendering systems are not full GIS systems, but they are able to support full GIS systems using the open source MapServer. This adds tremendous clarity for readers not yet accustomed to geographic systems.

A terse, but necessary, chapter 1 explains how to build and install MapServer, with the various packages that run with it. Because of the open source nature of this system, such an introduction is welcome, and may spare aspiring developers many woes.

After a brief chapter 2, where the bare basics of MapServer are exposed, chapters 3 and 4 lay out a hands-on, progressive description of MapServer. A complex mapping application is developed throughout these chapters, progressively introducing MapServer programming, and displaying the strength of its rendering features by example. Chapter 4 explains how to apply advanced layering and labeling, as well as attributes and navigation. These two chapters close a first pedagogic milestone, since, at this point, a programmer would have learned enough to design a complex mapping application.

Chapter 5 builds on the previous chapters, to explain the built-in MapServer query mode. It is filled with detailed examples, and could be used both to understand how to query spatial data in MapServer, and to expand the knowledge of previous chapters through more exposure to MapServer coding.

Chapters 6, 7, and 8 cover the use of MapServer in scripting mode, using, respectively, Perl, Python, and PHP: hypertext preprocessor (PHP). While the previous chapters used MapServer in a Web context, through common gateway interface (CGI) scripting, these chapters further demonstrate the strength of MapServer in building applications. The scripted nature of the underlying languages suits the commented example style that the author has chosen very well. Interested programmers should be able to quickly master this mode of operation, as the examples are kept to the point, while demonstrating how complex mapping applications can be built.

Chapter 9 discusses a very important feature, namely, the ability to use MapServer with a MySQL database. This functionality opens the door to full-fledged GIS support if a programmer wishes to go beyond the mapping services of MapServer. The same style of teaching by example is used to tackle this tricky subject.

Chapters 10 and 11 are references for MapServer and its adjunct utilities. They are followed by an appendix that is interesting to read, since it details some general geographical mapping concepts. People not familiar with geographic systems, but who are attracted to the mystery of mapmaking, will certainly delight in reading it. One almost wishes the author had written a longer appendix, detailing mapmaking further, but this is probably a digression outside of the scope of the book.

Overall, the book is well written and easy to read, but concentration is needed to follow the numerous examples used by the author. Kropla truly masters teaching by example, and makes an arcane subject accessible to a wide audience of programmers, developers, architects, and map technology hobbyists. The structure of the book also makes it usable as a textbook, for a semester study in computer science or for a longer-term graduate-level project. One could easily imagine a setting where Perl, PHP, Python, or MySQL were taught via their use in MapServer. This would certainly add some variety to a script programming class that, one would venture to say, would otherwise be bland, due to repetitive canonical examples. I strongly recommend this approach to ambitious lecturers, as their students may reap many added rewards in such a case.

I congratulate the author for a well-written book, demystifying a lesser-known topic for a wider audience of computer engineers. I encourage him to expand the book, maybe with case studies where full-fledged GIS system architectures using MapServer are exposed. More architectural diagrams, providing a bird’s-eye view of the system and its relation to other components, would also make the book more interesting to architects who need to design MapServer-based solutions. Undoubtedly, the author has a mastery of the field of map rendering and GIS, and it would be desirable for the community of engineers to benefit further from his knowledge.

Reviewer:  Cherif Keramane Review #: CR132373 (0612-1185)
Bookmark and Share
 
Reference (A.2 )
 
 
Web-Based Services (H.3.5 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Reference": Date
Computer professional’s dictionary
Wyatt A., Osborne/McGraw-Hill, Berkeley, CA, 1990. Type: Book (9780078817052)
May 1 1991
The dictionary of computer graphics technology and applications
Latham R., Springer-Verlag New York, Inc., New York, NY, 1991. Type: Book (9780387975405)
Feb 1 1992
The computer glossary
Freedman A., Amacom, New York, NY, 1991. Type: Book (9780814477496)
Nov 1 1991
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy