The foundation of any GIS – spatial data
Understanding coordinate systems
Representing geometrical shapes
Modeling the real world with raster data
Time for action – exploring OpenStreetMap
Adding more colors to your maps
Time for action – making your thematic map
Getting Started with GeoServer
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
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
Time for action – deploying GeoServer on Tomcat
Time for action – improving security settings
Exploring the Administrative Interface
Time for action – manually reloading configuration
Time for action – OpenLayers preview
Time for action – creating a workspace
Time for action – limiting the SRS list from WMS
Time for action – changing your logging configuration
Time for action – exploring Demo requests
Time for action – filtering the projection list
Time for action – exploring OpenLayers options
Exploring the Web Map Service output formats
Time for action – parsing GeoJSON
Time for action – using the GetFeatureInfo freemarker template
Time for action – using WMS Reflector
Configuring vector data sources
Time for action – adding shapefiles
Time for action – installing PostgreSQL and PostGIS
Time for action – loading data in PostGIS and publishing them in GeoServer
Configuring raster data sources
Exploring additional data sources
Time for action – adding Oracle support in GeoServer
Time for action – adding MySQL data source
Understanding Styled Layer Descriptor
Exploring the standard structure of a style
Time for action – viewing GeoServer bundled styles
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
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
Time for action – creating a simple polygon style
Time for action – using a graphic filling
Time for action – using hatching with polygons
Time for action – labeling points
Time for action – labeling lines
Time for action – labeling polygons
Time for action – classifying roads
Time for action – enhancing thematic roads map
Time for action – grouping layers
Time for action – adding a GeoServer layer as overlay
Time for action – adding a GeoServer layer as a base layer
Time for action – adding a GeoServer cached layer as overlay
Time for action – customizing Google basemap
Time for action – intercepting the Click event
Time for action – integrating GeoServer and OpenLayers
Time for action – using GeoRSS with OpenLayers
Time for action – using Leaflet with GeoServer layers
Time for action – configuring GeoWebCache storage
Time for action – configuring Disk Quota
Time for action – creating a custom gridset
Time for action – configuring layers and layer groups for caching
Time for action – using tiles with OpenLayers
Time for action – seeding a layer
Automating Tasks: GeoServer REST Interface
Time for action – installing the Requests library
Time for action – managing workspaces
Time for action – managing data stores
Time for action – adding a new shapefile
Time for action – adding a PostGIS table
Time for action – adding a new style
Time for action – managing layers
Securing GeoServer Before Production
Time for action – enabling strong encryption
Time for action – changing the master password
Defining users, groups, and roles
Time for action – creating users and groups
Time for action – defining roles
Time for action – securing layers
Tuning GeoServer in a Production Environment
Time for action – configuring Java runtime parameters
Time for action – installing native JAI
Time for action – disabling unused services
Time for action – configuring a proxy
Time for action – configuring a cluster
Going Further: Getting Help and Troubleshooting
Time for action – retrieving vector data