Recently we’ve been holding a competition to give away free copies of the popular ebook, GeoServer Beginner’s Guide. The book’s purpose is to teach through practical examples. Right on the cover, it promises: “Less theory, more results!” This is a tricky balance to strike in a beginner’s guide. You can’t simply jump into coding a map display when the user doesn’t understand the fundamental concepts! But authors Brian Youngblood and Stefano Iacovella find a good middle ground.

The first chapter explains totally fundamental GIS concepts, answering basic questions like “what is spatial data?” And “What is a projection?” and defining some key terms like “vector” versus “raster” displays. This section tried to be very thorough and gently ramp total newcomers into the world of GIS. When I started reading, I was surprised at the amount of time they spent on these basics - when they say “beginner,” they mean it!

The following two chapters take the same meticulous approach to setting up Geoserver and using its administrative web interface. While this section of the book was impressively thorough, the target level of expertise was uneven. Some parts seemed targeted for my grandmother’s level of understanding, others seemed to assume a basic knowledge of geo concepts. For example, we got a great explanation of map projections, Universal Transverse Mercator versus Web Mercator, with cases where you might use each. We even explore the EPSG Registry for some exotic projections. But the differences between WMS, WFS, and WCS are explained with one line each. Or the fact that we have the fundamental concept of REST explained, but the examples assume a medium level of comfort with Javascript.

Since the expected learning curve for this eBook is a bit uneven, sections of these opening chapters get slow to read. Do we really need an explanation of EVERY SINGLE LINK in the Geoserver administrative interface? Surely the “about” link could have been skipped. Or the section on defining your own log level. My grandmother would never need to define her own log level to get started using Geoserver - in fact, I’ve used it for years and never needed this functionality. Meticulously explaining every single possibility of the administrative interface made this section of the book seem like it was duplicating the Geoserver Documentation pages.

Once the core concepts and functionalities are introduced however, the book really starts to shine. I found it picked up at about Chapter 6, which explains in great detail how to write your own SLD files and style your map output. The moment practical examples of any depth are introduced, it seems like we hit the authors’ comfort zone: really teaching by doing. They both have a lot of experience in GIS, and offer top quality code examples to follow. 

I’ve worked a fair amount with GIS, but partway through the section on writing your own SLD I started to learn new aspects of this technology I had used so many times. By the time I got into Chapter 8, practical examples of building maps with Google Maps API, OpenLayers, and Leaflet, I started to take notes for myself. The following 4 chapters maintain this impressive stride: lots of information delivered, in a clear and practical way, with code examples that are worth consulting over and over again in your own work.

I would not recommend the GeoServer Beginner’s Guide for total beginners. The core basics of GIS are probably better explained in texts that remain focused on the fundamental concepts. But for those of us who have worked with GIS before, who have perhaps gotten by with some gaps in their knowledge, I recommend it strongly. The basics chapters are worth skimming to fill in conceptual gaps, and when the book gets moving it REALLY gets moving.  If you have a technical background, and want to build or seriously strengthen your GIS toolkit, the GeoServer Beginner’s Guide is a great choice. It offers you clear explanation of the most powerful Open Source GIS offerings out there, and comes with many clear, well-written examples. These make it a fantastic resource, which has earned a permanent place on my bookshelf.