The New GeoServer 2.1

GeoServer 2.1 (Major Update)

“GeoServer is a Java-based software server that allows users to view and edit geospatial data. Using open standards set forth by the Open Geospatial Consortium (OGC), GeoServer allows for great flexibility in map creation and data sharing.”

18 months in the making:
WMS Cascading

New Features

Something many users have asked for since the very addition of WMS support is cascading, the ability of GeoServer to proxy for another remote WMS server (be it GeoServer, MapServer, or ArcGIS). This feature has many uses, such as pulling in a remote base layer and overlaying local vector data onto it or securing a locally unsecured map server. Special thanks to the University of Perugia for sponsoring this feature.

Virtual Services

Anyone who has published a large number of layers or feature types with GeoServer has probably at some point been annoyed by the fact that every single layer is published by a single global service. WMS has the ability to group and nest layers but WFS and WCS have no such equivalent. Thanks to virtual services, one can create multiple service endpoints within a single GeoServer instance. Special thanks to Landgate for funding this work.

Layers from SQL

GeoServer has always been good at publishing a flat database table but users often need to do more—such as pre-filter the data in a table, join two tables together, or generate column values on the fly with a function. Before this feature, the recommendation was to create a view, yet views can be a maintenance burden and are at times problematic.

Now one can create a layer directly from an SQL query and query definitions can be parameterized to create dynamic queries on the fly. These parameters can be restricted with regular expressions to prevent an SQL injection security hole.

Special thanks to Andrea Aime for spending much of his personal time on this one and to OBIS for providing the funding for the parametric component of the work.

Web Processing Service (WPS)

With 2.1 and the arrival of WPS we welcome a new OGC service into GeoServer. The Web Processing Service is an OGC service for performing geospatial analysis functions over the web. The specification is extensible in nature and allows for simple processes ranging from buffering a geometry to more complex processes such as image processing.

Historically, GeoServer has been focused on data delivery and did not provide tools for performing analysis on spatial data. WPS fills that gap, making GeoServer a more compete solution for geospatial web services.

Thanks to Refractions Research for the initial contribution of the WPS module and to Andrea once again for taking personal time to bring WPS support to its current state.

Unit of Measure

Support for units in SLD allows one to specify values in measurements other than pixels such as feet or meters. This adds a very powerful capability to SLD that may alleviate the need for multiple scale-dependent rendering rules and may greatly simplify complex SLD documents.

Special thanks to Milton Jonathan for the initial GeoTools work to make unit of measure support possible and to Andrea for working with Milton to improve the initial patch. Note that this feature has also been backported to the stable 2.0.x branch thanks to support from SWECO and Malmö City of Sweden.

DPI Scaling

GeoServer renders images at a resolution of 90 DPI by default. While this is acceptable for most standard screen resolutions, it is unacceptable for higher-resolution printed materials. Now it is possible to supply a format option to a WMS request to control the DPI setting on the fly.

Special thanks again to SWECO and Malmö City of Sweden for sponsoring this work. Note also that this feature has also been backported to the 2.0.x branch.

Graphical File/Directory Chooser

Ever found it difficult to remember the full path when loading a shapefile or GeoTIFF? This new improvement brings an easy graphical file and directory selection tool for browsing the file system on which GeoServer resides. This is definitely a great enhancement to make GeoServer even easier to configure.

Core improvements to support a database-backed catalog

GeoServer’s core catalog interfaces received some tweaks to more easily support different backend storage formats. The current in-memory implementation has a number of drawbacks—the most notable being that it is memory-bound, meaning it cannot scale to accomodate large numbers of layers. Support for specific new storage formats is still only available as a community module but these core improvements make it possible to more easily swap between different backends.

Font Improvements

Adding new fonts to maps should now be much easier, as one can drop font files directly into the GeoServer data directory and have them be recognized by GeoServer. The admin interface will list all fonts that are currently available, including those made available by the Java Virtual Machine.

Upgrade to Spring Security 2.0.6

GeoServer has always had Acegi Security at its core but since that library was absorbed by the Spring community it has been improved and upgraded into Spring Security, the official security module of the Spring portfolio. This brings a number of new security protocols to GeoServer, including OpenID and Windows NTLM. With even more powerful options, it should now be easier to customize the security setup.

WCS Limits

While WFS and WMS have both had the ability to limit what a user can request, now similar controls are in place for WCS calls as well. Thanks to MassGIS for funding this improvement.

WMS 1.3.0

WMS 1.3.0 is the newest version of the Web Map Service protocol. Special thanks to Ordnance Survey, Britain’s national mapping agency, for providing OpenGeo with funding to complete its implementation in GeoServer. With WMS 1.3 mandated by the INSPIRE Initiative, Ordnance Survey opted to fund the GeoServer project so that other organizations in the UK and the rest of Europe could meet their INSPIRE requirements and everyone across the globe could benefit.

SLD 1.1 / SE 1.1 enhancements

Though not every new option is fully-supported, it is now possible to use most SE 1.1 documents in GeoServer. User feedback on which new options should be supported first is greatly appreciated. Also funded by Ordnance Survey is a community module to implement the WMS extensions for INSPIRE View Service compliance—namely the language parameter and several extended capabilities fields.

GeoWebCache Integration

GeoWebCache integration allows clients to enjoy the benefits of tile caching through the regular GeoServer WMS endpoint. This enables GeoWebCache to transparently proxy for the GeoServer WMS without the need for a separate service endpoint. Taking advantage of the recently-added disk quota functionality, GeoWebCache now provides the ability to set limits on the amount of disk space used for storing tiles, allowing users to control and limit the size of the tile cache on disk. Big thanks to Gabriel Roldán of OpenGeo for the great GeoWebCache improvements.

Improvements to RESTConfig

This release also brings some improvements to RESTConfig, which is now shipped with GeoServer by default. Improvements to the API include a file upload operation that now allows for uploading files into an existing data store. This addition allows users to upload a shapefile and have it automatically converted into a PostGIS database and published as a PostGIS layer rather than as a Shapefile layer. The API also supports recursive DELETE operations, making it more convenient to remove resources that contain other resources such as stores or workspaces. Thanks to David Winslow and Justin Deoliveira of OpenGeo for these improvements.

Improved Raster Reprojection Performance

Thanks to some great work from GeoSolutions, raster reprojection performance has been significantly improved by using linear appoximations of transformation functions.

WCS Request Builder

Thanks to Andrea Aime, there is now a Web Coverage Service request builder for graphically building WCS requests to test a coverage service. As clients for WCS have always been sparse, this tool goes a long way towards making the service more usable.

Run multiple GeoServer instances from a single data directory

There now exists a new parameter that will once again allow multiple GeoServer instances to run from a single data directory. This parameter, named “GWC_DISKQUOTA_DISABLED”, will disable the GeoWebCache disk quota module and prevent it from maintaining a lock on the data directory.


The Globalization of Social Search

In 2009 we first introduced Social Search on as an experimental feature designed to help you find more relevant information from your friends and the people you care about. Since then we’ve been making steady improvements to connect you with more people and more relevant web results. Today, we’re bringing Social Search to more users around the globe.

Just like on, social search results in other languages and on other domains are mixed throughout the Google results page based on their relevance. For example, if you’re looking for information about low-light photography and your friend Marcin has written a blog post about it, that post may show up higher in your results with a clear annotation and picture of Marcin:

Social search results can rank anywhere on the page, and you’ll see who shared the result in the annotation underneath.


Social Search can help you find pages your friends have created, and it can also help you find links your contacts have shared on Twitter and other sites. If someone you’re connected to has publicly shared a link, we may show that link in your results with a clear annotation. So, if you’re looking for information about modern cooking and your colleague Adam shared a link about Modernist Cuisine, you’ll see an annotation and picture of Adam under the result. That way when you see Adam in the office, you’ll know he might be a good person to ask about his favorite modern cooking techniques.

Social Search includes links people share on Twitter and other services.

So how does this all work? Social search results are only visible to you and only appear when you choose to log in to your Google Account. If you’re signed in, Google makes a best guess about whose public content you may want to see in your results, including people from your Google chat buddy list, your Google Contacts, the people you’re following in Google Reader and Buzz, and the networks you’ve linked from your Google profile or Google Account. For public networks like Twitter, Google finds your friends and sees who they’re publicly connected to as well. You can see a complete list of the people included in your social search results in your personal Google Dashboard (this display is private). For an overview of Google Social Search, check out the explanatory video:

Social Search is rolling out globally in 19 languages and should be available in the coming week, with more languages on the way. People around the world will find similar types of social results as people in the U.S., and we plan to introduce the +1 feature as soon as we can. With these changes, we want to help you find the most relevant information from the people who matter to you.

A new look for Google Translate for Android

When we launched the first version of Google Translate for Android in January 2010, we were excited about the year ahead. For the first time, we were bringing the capabilities supported on Google Translate—like machine translation, romanization of non-Roman scripts and spoken translations—to the Android platform. We also offered voice input to let you speak the word or phrase you wanted to translate instead of typing it in, and SMS translation so you could translate SMS messages sent to you in foreign languages.

Today, we’re refreshing Translate for Android with several updates to make the app easier to interact with. Among other improvements, we’ve created better dropdown boxes to help select the languages you want to translate from and into, an improved input box, and cleaner icons and layout.

We also want to let you in on an experimental feature that’s still in its earliest stages—Conversation Mode. This is a new interface within Google Translate that’s optimized to allow you to communicate fluidly with a nearby person in another language. You may have seen an early demo a few months ago, and today you can try it yourself on your Android device.

Currently, you can only use Conversation Mode when translating between English and Spanish. In conversation mode, simply press the microphone for your language and start speaking. Google Translate will translate your speech and read the translation out loud. Your conversation partner can then respond in their language, and you’ll hear the translation spoken back to you. Because this technology is still in alpha, factors like regional accents, background noise or rapid speech may make it difficult to understand what you’re saying. Even with these caveats, we’re excited about the future promise of this technology to be able to help people connect across languages.

As Android devices have spread across the globe, we’ve seen Translate for Android used all over. The majority of our usage now comes from outside the United States, and we’ve seen daily usage from more than 150 countries, from Malaysia to Mexico to Mozambique. It’s really rewarding for us to see how this new platform is helping us break down language barriers the world over.

Translate supports 53 languages, from Afrikaans to Yiddish, and voice input for 15 languages. You can download the application, available for devices running Android 2.1 and above, by searching for “Google Translate” in Android Market or by scanning the QR Code below.