GeoServer Beginner’s Guide


GeoServer Beginner’s Guide
eBook: $29.99
Formats: PDF, PacktLib, ePub and Mobi formats
$25.49
save 15%!
Print + free eBook + free PacktLib access to the book: $79.98    Print cover: $49.99
$49.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Reviews
Support
Sample Chapters
  • Learn free and open source geospatial mapping without prior GIS experience
  • Share real-time maps quickly
  • Learn step-by-step with ample amounts of illustrations and usable code/list

Book Details

Language : English
Paperback : 350 pages [ 235mm x 191mm ]
Release Date : February 2013
ISBN : 1849516685
ISBN 13 : 9781849516686
Author(s) : Stefano Iacovella, Brian Youngblood
Topics and Technologies : All Books, Other, Beginner's Guides, Java, Open Source

Table of Contents

Preface
Chapter 1: GIS Fundamentals
Chapter 2: Getting Started with GeoServer
Chapter 3: Exploring the Administrative Interface
Chapter 4: Accessing Layers
Chapter 5: Adding Your Data
Chapter 6: Styling Your Layers
Chapter 7: Creating Simple Maps
Chapter 8: Performance and Caching
Chapter 9: Automating Tasks: GeoServer REST Interface
Chapter 10: Securing GeoServer Before Production
Chapter 11: Tuning GeoServer in a Production Environment
Chapter 12: Going Further: Getting Help and Troubleshooting
Appendix: Pop Quiz Answers
Index
  • Chapter 1: GIS Fundamentals
    • What is GIS about?
    • The foundation of any GIS – spatial data
      • Measuring the world
      • Projecting a sphere on a plane
    • Understanding coordinate systems
      • Commonly used coordinate systems
        • Universal Transverse Mercator system
        • Web Mercator
      • Spatial Reference Identifier (SRID)
    • Representing geometrical shapes
    • Modeling the real world with raster data
    • Representing the world
    • Time for action – exploring OpenStreetMap
    • Adding more colors to your maps
      • Choropleth maps
      • Proportional maps
    • Time for action – making your thematic map
    • Summary
    • Chapter 2: Getting Started with GeoServer
      • Installing Java
      • Time for action – checking the presence of Java on Windows
      • Time for action – checking the presence of Java on Ubuntu
      • Time for action – installing JRE on Windows
      • Time for action – installing JRE on Ubuntu
      • Installing Apache Tomcat
      • Time for action – installing Apache Tomcat on Windows
      • Time for action – installing Apache Tomcat on Ubuntu
      • Time for action – configuring Tomcat as a service on Ubuntu
      • Installing GeoServer
      • Time for action – deploying GeoServer on Tomcat
      • Implementing basic security
      • Time for action – improving security settings
      • Summary
      • Chapter 3: Exploring the Administrative Interface
        • Understanding the interface
        • About & Status
          • Server Status
            • Locks
            • Connections
            • Memory Usage
            • JVM Version and fonts
            • JAI usage and configurations
            • Update Sequence
            • Resource Cache
            • Configuration and catalog
          • GeoServer Logs
          • Contact Information
          • About
        • Time for action – manually reloading configuration
        • Data
          • Layer Preview
        • Time for action – OpenLayers preview
        • Time for action – KML preview
          • Workspaces
        • Time for action – creating a workspace
          • Stores
          • Layers
          • Layer groups
          • Styles
        • Services
          • WMS
        • Time for action – limiting the SRS list from WMS
          • WFS
          • WCS
        • Settings
          • Global
            • Verbose Reporting
            • Enable Global Services
            • Proxy Base URL
            • Logging Profile
            • Log to StdOut
            • Log location
        • Time for action – changing your logging configuration
          • JAI
        • Tile Caching
        • Security
          • Settings
          • Users, Groups, and Roles
          • Data
            • Catalog security
          • Services security
        • Demos
        • Time for action – exploring Demo requests
          • SRS List
        • Time for action – filtering the projection list
        • Summary
        • Chapter 4: Accessing Layers
          • Layer types
          • OpenLayers
          • Time for action – exploring OpenLayers options
            • Working with tiles
          • Exploring the Web Map Service output formats
            • AtomPub
            • GIF
            • GeoRSS
            • JPEG
            • KML (Plain)
            • KMZ (Compressed)
            • PDF
            • PNG
            • SVG
            • TIFF
          • Web Feature Service
            • CSV
            • GML (plain text)
            • GML2 (compressed GZIP)
            • GeoJSON
          • Time for action – parsing GeoJSON
            • Shapefile
          • Extra output options
            • GDAL and OGR output
            • TEXT/HTML
          • Time for action – using the GetFeatureInfo freemarker template
          • Using WMS Reflector
          • Time for action – using WMS Reflector
          • Summary
          • Chapter 5: Adding Your Data
            • Configuring your data
            • Configuring vector data sources
              • Adding a properties file
              • Configuring an external Web Feature Service
              • Adding shapefiles
            • Time for action – adding shapefiles
              • Using PostGIS
            • Time for action – installing PostgreSQL and PostGIS
            • Time for action – loading data in PostGIS and publishing them in GeoServer
            • Configuring raster data sources
              • ArcGrid
              • GeoTiff
              • Gtopo30
              • ImageMosaic
              • WorldImage
              • Configuring an external Web Map Service
            • Exploring additional data sources
              • Using Oracle
            • Time for action – adding Oracle support in GeoServer
              • Using MySQL
            • Time for action – adding MySQL data source
            • Summary
            • Chapter 6: Styling Your Layers
              • Understanding Styled Layer Descriptor
              • Editing styles
              • Exploring the standard structure of a style
              • Time for action – viewing GeoServer bundled styles
              • Loading data for styling
              • Working with point symbols
              • Time for action – creating a simple point style
              • Time for action – adding a stroke value
              • Time for action – dealing with angles and transparency
              • Time for action – composing simple shapes
              • Time for action – using external graphics
              • Linestring symbols
              • Time for action – creating a simple line style
              • Time for action – adding a border and a centerline
              • Time for action – using hatching
              • Time for action – using dashed lines
              • Time for action – mixing dashing lines and markers
              • Working with polygon symbols
              • Time for action – creating a simple polygon style
              • Time for action – using a graphic filling
              • Time for action – using hatching with polygons
              • Adding labels
              • Time for action – labeling points
              • Time for action – labeling lines
              • Time for action – labeling polygons
              • Thematic mapping
              • Time for action – classifying roads
              • Setting visibility
              • Time for action – enhancing thematic roads map
              • Putting it all together
              • Time for action – grouping layers
              • Summary
              • Chapter 7: Creating Simple Maps
                • Exploring Google Maps API
                • Time for action – adding a GeoServer layer as overlay
                • Time for action – adding a GeoServer layer as a base layer
                  • Using pre-calculated maps
                • Time for action – adding a GeoServer cached layer as overlay
                • Time for action – customizing Google basemap
                  • Interacting with the user
                • Time for action – intercepting the Click event
                • Using OpenLayers
                • Time for action – integrating GeoServer and OpenLayers
                • Time for action – using GeoRSS with OpenLayers
                • Exploring Leaflet
                • Time for action – using Leaflet with GeoServer layers
                • Summary
                • Chapter 8: Performance and Caching
                  • Exploring GeoWebCache
                  • Time for action – configuring GeoWebCache storage
                  • Time for action – configuring Disk Quota
                  • Setting caching defaults
                    • Direct integration
                    • WMS-C
                    • TMS and WMTS
                    • Default layers options
                    • Default Cached Gridsets
                  • Configuring gridsets
                  • Time for action – creating a custom gridset
                  • Configuring tile layers
                  • Time for action – configuring layers and layer groups for caching
                  • Time for action – using tiles with OpenLayers
                  • Time for action – seeding a layer
                  • Using an external GeoWebCache
                  • Summary
                  • Chapter 9: Automating Tasks: GeoServer REST Interface
                    • Introducing REST
                    • Using REST
                    • Time for action – installing the Requests library
                    • Managing data
                      • Working with workspaces and namespaces
                    • Time for action – managing workspaces
                      • Using data stores
                    • Time for action – managing data stores
                      • Using feature types
                    • Time for action – adding a new shapefile
                    • Time for action – adding a PostGIS table
                    • Publishing data
                      • Working with styles
                    • Time for action – adding a new style
                      • Working with layers
                    • Time for action – managing layers
                    • Summary
                    • Chapter 10: Securing GeoServer Before Production
                      • Basic security settings
                      • Time for action – enabling strong encryption
                      • Time for action – changing the master password
                      • Defining users, groups, and roles
                        • User definition
                        • Group definition
                        • User/group services
                        • Roles definition
                      • Time for action – creating users and groups
                      • Time for action – defining roles
                      • Accessing data and services
                      • Time for action – securing layers
                      • Summary
                      • Chapter 11: Tuning GeoServer in a Production Environment
                        • Tuning Java
                        • Time for action – configuring Java runtime parameters
                        • Time for action – installing native JAI
                        • Removing unused services
                        • Time for action – disabling unused services
                        • Setting a proxy
                        • Time for action – configuring a proxy
                        • Avoiding service faults
                        • Time for action – configuring a cluster
                        • Summary

                          Stefano Iacovella

                          Stefano Iacovella is a long-time GIS developer and consultant living in Rome, Italy. He also works as a GIS course instructor. He has a Ph.D in Geology. Being a very curious person, he has developed a deep knowledge of IT technologies, mainly focused on GIS Software and related standards. Starting his career as an ESRI employee, he was exposed to and became confident with proprietary GIS Software, mainly the ESRI suite of products. For the last 10 years, he has been involved with open source software and also the task of integrating it with commercial software. He loves the open source approach, and really trusts in the collaboration and sharing of knowledge. He strongly believes in the concept of open source, and constantly strives to spread it, and not only in the GIS sector. He has been using GeoServer since the release of Version 1.5; configuring, deploying, and hacking it in several projects. Some of the other GFOSS projects he mainly uses and likes are GDAL/OGR libraries, PostGIS, QGIS, and OpenLayers. When not playing with maps and geometric shapes, he loves reading about science, mainly physics and math, riding his bike, and having fun with his wife and his two daughters, Alice and Luisa.

                          Brian Youngblood

                          Brian Youngblood is a open source developer living in Montgomery, AL with more than a decade of experience developing, integrating, and managing high traffic websites. Brian was the Online Operations Manager and Technical Lead at the Southern Poverty Law Center for over 12 years. The SPLC is a nationally recognized nonprofit, and its websites SPLCenter.org and Tolerance.org have continued to get sharp increases in visitors year-on-year, resulting in growth in its online operations with open source. The SPLC won two Webby Awards in 2002 and 2004. Brian was also the founding partner and Chief Technology Officer for IntelliTours, a GPS-guided multimedia tour. He worked with several companies developing hardware and software including Alcorn McBride, Volkswagen, and Garmin. His work explored San Diego, Santa Cruz, Hawaii, and miles and miles of I-95 on the East Coast. Most notably, his work was featured on the cover of Entertainment Engineering magazine, Martha Stewart radio, the LA Times, and NPR. Embracing the spirit of other open source communities such as Drupal, and a combined passion for scalable GIS solutions, led him to adopt GeoServer for rapidly changing geospatial data stores. You can contact him at brian@brianyoungblood.com or follow him on twitter @brianyoungblood.

                          Code Downloads

                          Download the code and support files for this book.


                          Submit Errata

                          Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


                          Errata

                          - 4 submitted: last submission 19 Dec 2013

                          Pages 163-165: Time for action - labeling lines

                          The issue: 
                          Labels with state name doesn't show up in the roads.

                          The problem:
                          The XML code in page 164 has an error:
                            NAME

                          The solution:
                          The property name is wrong. It's not 'NAME', but 'state', in lowercase (case sensitive).

                          Pages 166-168: Time for action - labeling polygons

                          The issue: 
                          Labels with countries name doesn't show up in the countries maps.

                          Two problems:
                          1. XML parser inside GeoServer Styles doesn't accept the statement.
                          2. The XML code in page 166 has an error:
                            NAME

                          The solutions:
                          1. Even with the error message from the XML parser, the file 'CountriesLabeled.xml' must be submitted. The error message must be forgotten.
                          2.The property name is wrong. It's not uppercase 'NAME', but lowercase 'name' (case sensitive).
                          Pages 169-172: Time for action - classifying roads

                          The issue: 
                          Roads not classified.

                          The problem:
                          The XML code in pages 169, 170, and 171 have errors, all concerning the property name as before. I'll show only one, but it's the same in the mentioned pages:
                            CLASS

                          The solution:
                          The property name is wrong. It's not 'CLASS', but 'class', in lowercase (case sensitive, recall).

                          *** Page 257, Time for action 5, Line 9 ***
                          <binding>com.vividsolutions.jts.geom.Polyline</binding>

                          Should be:
                          <binding>com.vividsolutions.jts.geom.MultiLineString</binding>


                          *** Page 260, Time for action 2, Line 2 ***
                          >>> headers = {‘Accept: application/vnd.ogc.sld+xml’}

                          Should be:
                          >>> headers = {‘Accept’: ‘application/vnd.ogc.sld+xml’}


                          *** Page 261, Time for action 6, Line 2 ***
                          >>> file = open(PopulatedPlacesBlueLabeled.xml’,’r’)

                          Should be:
                          >>> file = open(‘PopulatedPlacesBlueLabeled.xml’,’r’)


                          *** Page 262, Time for action 2, Line 2 ***
                          >>> headers = {‘Accept: text/xml’}

                          Should be:
                          >>> headers = {‘Accept’: ‘text/xml’}

                          In addition, before one can open the file, one needs to write it, so the
                          following additional code is needed:
                          >>> file = open(‘ne_50m_populated_places.xml’,’w’)
                          >>> file.write(resp.content)
                          >>> file.close()


                          *** Page 263, Time for action 5, Line 2 ***
                          >>> file = open(addStyle.xml’,’r’)

                          Should be:
                          >>> file = open(‘addStyle.xml’,’r’)

                          And Line 4
                          >>> headers = {‘Content-type: text/xml’}

                          Should be:
                          >>> headers = {‘Content-type’: ‘text/xml’}


                           

                           

                          Sample chapters

                          You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                          Frequently bought together

                          GeoServer Beginner’s Guide +    OpenCL Programming by Example =
                          50% Off
                          the second eBook
                          Price for both: €34.10

                          Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                          What you will learn from this book

                          • Install GeoServer quickly
                          • Access your dynamic real-time geospatial data which you can easily integrate into your own web-based application.
                          • Create custom styles for lines, points, and polygons for great looking maps
                          • Command GeoServer remotely using REST
                          • Tune your GeoServer instance for performance
                          • Move GeoServer into production
                          • Learn advanced topics to extend GeoServer's capabilities

                          In Detail

                          GeoServer is an open source server-side software written in Java that allows users to share and edit geospatial data. Designed for interoperability, it publishes data from any major spatial data source using open standards. GeoServer allows you to display your spatial information to the world. Implementing the Web Map Service (WMS) standard, GeoServer can create maps in a variety of output formats. OpenLayers, a free mapping library, is integrated into GeoServer, making map generation quick and easy. GeoServer is built on Geotools, an open source Java GIS toolkit.

                          GeoServer Beginner’s Guide gives you a kick start to build custom maps using your data without the need for costly commercial software licenses and restrictions. Even if you do not have prior GIS knowledge, you will be able to make interactive maps after reading this book.

                          You will install GeoServer, access your data from a database, style points, lines, polygons, and labels to impress site visitors with real-time maps.

                          Follow along through a step-by-step guide that installs GeoServer in minutes. Explore the web-based administrative interface to connect to backend data stores such as MySQL, PostGIS, MSSQL, and Oracle. Display your data on web-based interactive maps, style lines, points, polygons, and embed images to visualize this data for your web visitors. Walk away from this book with a working application ready for production.

                          After reading the GeoServer Beginner’s Guide, you will have beautiful, custom maps on your website built using your geospatial data.

                          Approach

                          Step-by-step instructions are included and the needs of a beginner are totally satisfied by the book. The book consists of plenty of examples with accompanying screenshots and code for an easy learning curve.

                          Who this book is for

                          You are a web developer with knowledge of server side scripting, and have experience with installing applications on the server. You have a desire to want more than Google maps, by offering dynamically built maps on your site with your latest geospatial data stored in MySQL, PostGIS, MsSQL or Oracle. If this is the case, this book is meant for you.

                          Code Download and Errata
                          Packt Anytime, Anywhere
                          Register Books
                          Print Upgrades
                          eBook Downloads
                          Video Support
                          Contact Us
                          Awards Voting Nominations Previous Winners
                          Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                          Resources
                          Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software