Overview
Super-Overlays are a form of KML in which data is broken up into regions. This allows Google Earth to refresh/request only particular sections of the map when the view area changes. Super overlays are used to efficiently publish large sets of imagery. GeoServer supports two types of super-overlays, raster super-overlays and vector super-overlays. In a raster overlay Google Earth recieves a single image file for each region, while in vector overlays it receives information about each feature. This means that raster overlays require less resources on the client machine running Google Earth, but vector-overlays look much nicer, as well as adding clickable popups with more information about features (see http://geoserver.org/display/GEOSDOC/02+Custom+Descriptions for details on these popups).
With super overlays, regions or tiles form a hierarchy. Each level of the hierarchy corresponds to a particular image resolution. Tiles that are lower in the hierarchy correspond to higher resolution. This allows Google Earth to progressively load higher resolution imagery as a user zooms in on the map.
GeoServer takes all the pain out of Super-Overlay creation, as it automatically creates the proper hierarchy and tiles the data. The only thing to be done is to add your data to GeoServer. It can tile vector data, but it truly shines with large raster data (GeoTiff, ArcGrid, GTOPO30, ImageFiles, and soon MrSID). For vector data, see the section below on Vector Super-Overlays.

Consider the above tile which is at some level n of our hierarchy. As we zoom in we see higher resolution tiles for the next level n+1 are loaded.


Using Raster Super Overlays
Getting GeoServer to return KML as a raster super overlay is easy. All one must do is append the parameter "superoverlay=true" to a KML request. For example:
http://localhost:8080/geoserver/wms/kml_reflect?layers=nurc:Img_Sample&superoverlay=true
Raster Super Overlays and Tiling
GeoServer implements super overlays in a way that is compatible with the WMS Tiling Client Recommendation. Super overlays are generated in such a way that the regions of tiles of the super overlay are the same tiles that a WMS tiling client would request. The upshot of this is that one can use existing tile caching mechanisms and reap a potentially large performance benefit.
This tutorial walks through the process of setting up super overlays with tile caching.
Vector Super-Overlays
KML has support for including the feature information directly in the KML document and letting Google Earth to the rendering. This has lots of great benefits like allowing the user to select features to see HTML descriptions and toggle the display of individual features, as well as better looking rendering when the zoom level doesn't match that of the graphics provided by GeoServer. For large datasets, however, all of this feature information can take a long time to download and use a lot of client side-resources for Google Earth to render. For such data sets, vector overlays allow the client to only download part of a dataset when viewing the entire map, and pull more information down as he or she zooms in.
Using Vector Super-Overlays
GeoServer will automatically do most of the work in generating vector super-overlays. However, because vector super-overlays work by omitting some of the data, rather than delivering it pre-rendered as raster super-overlays do, you must provide GeoServer a hint as to which features should be shown before others, known as a "regionating strategy." Regionating strategies can be specified in the request using a GeoServer-specific format option, in the form 'format_options=regionateby:<strategy>;regionateattr:<attribute>". (more on format_options can be found at http://geoserver.org/display/GEOSDOC/02+Custom+Descriptions). For example, to regionate the topp:states layer that is included in the geoserver installer, using the 'population' attribute, the request would look like
http://localhost:8080/geoserver/wms/kml_reflect?layers=topp:states;regionateattr:population
GeoServer currently supports two regionating strategies: "data" and "sld" . The "data" strategy uses the attribute given in the request to sort the features, features with higher values of the attribute will appear higher up in the tile hierarchy. The "sld" strategy uses the style for the request to determine which features to include; features that are not rendered by the style will be omitted from the KML. (This is the default behavior if no regionating strategy is specified.) However, using these strategies in a request returns only the individual tiles.
Using GeoWebCache With GeoServer for Vector Super-Overlays
Since GeoServer does not generate a fully browsable hierarchy, you'll need a little help from some software that can combine a set of KML tiles into such a hierarchy. GeoWebCache does just that, and there is a handy plugin you can use to deploy it within GeoServer. Just download and install it as described at http://geoserver.org/display/GEOSDOC/GeoWebCache. In order to configure the regionating strategy used by GeoWebCache, go into the normal GeoServer configuration settings, where you'll see options labelled "KML Regionating Attribute" and "KML Regionating Strategy" which specify the values for GeoWebCache to use. Once these values are set, you can point Google Earth at
http://localhost:8080/geoserver/gwc/service/kml/topp:states.kml.kmz
to see your vector super-overlay (replace topp:states with the name of your layer, of course).
| Under Development Super overlays are still under active development. Please try it out and report any bugs in the issue tracker |