GeoServer Blog

Google Earth and GeoServer

As some of you may know, GeoServer can serve up WMS data as KML or KMZ for Google Earth. There is a full video tutorial located here on how to set it up.

One of the tools GeoServer has to make serving up KML/KMZ easier is a reflector script. This exists so people don’t have to type in an entire WMS request URL to view the data in Google Earth. Here is an example of its use:


By using this URL, you can ignore all the other WMS information. Information such as projection, image size, output format etc. You can also specify more than one layer by just separating the layer names with commas: layers=states,roads,lakes

The reflector will take the layer names and fill in the missing information, then return back a full WMS request. Users have asked why a URL is being returned when they use the reflector in their web browser. The reflector is meant to be used within Google Earth in a Network Link. The network link will interpret the returned WMS request and send it off again to GeoServer to get the real KML data back. So at first it makes two requests to get the real data, but after that it updates with just one get map request.

One recent item of discussion has been how to format the description of the features that are returned. In KML you can return an HTML description of the data.

ge attributes

What we do is take all of the feature information and put it into an HTML table that pops up when you click on the feature. But say if you wanted to hide some of the attribution, or turn some value into hyper links, there is no current way to do this (at least with not hacking the code). A few ideas have been suggested: including the formatting information into the SLD file, have a separate SLD-like file for just the descriptions, and XML transforms with a template document. In order to make a decision on which path to take, we would like some input from the users: use-case scenarios, requirements, etc.

So drop us a line and tell us what you think.

Read More

GeoServer Roadmap updated

So this may be about as close as I’m going to get to ‘Developers notes’ for awhile (though I may let myself work on some GeoJSON or GeoRSS output over the holidays), but wanted to let everyone know that I updated the GeoServer Roadmap in an attempt to capture the latest directions of the community. If I’ve missed anything please don’t hesitate to update it (all our docs are wikis). The roadmap had fallen out of date - the ‘short term’ projects were set to complete in september - so I’ll try to be more vigilant about updating it more regularly.

But I must say it was quite satisfying doing the update, as the GeoServer community had actually managed to hit most of the things we said we would. The demo site is up, GeoCollaborator stuff has moved from discussions to the beginning of an implementation. 1.4.0 is out, and the WCS branch not only got up a release, but is a part of the GeoServer main line as 1.5.0-beta1. We’ve also had some work on tiling/caching with a tutorial on running OSCache. The only thing we didn’t get to was an improved SLD editor, but I’m hoping we can do it after our web gui overhaul - which made it’s way up to ‘medium term’, as we’ve been feeling the pain too long. If people have suggestions of a good web framework let us know, the ones we’re likely going to look at are Wicket, WebWork2, and Google Web Toolkit.

Elsewhere on the horizon we’ve got WFS 1.1 (which includes GML 3.1.1 simple features) from OWS-4 coming home, and Justin’s made some nice improvements on that branch. And 3d and 4d support in WCS will be in the works as the 2D version works towards the stability of 1.5.0. Also Social Change Online and Axios are likely going to be doing some more work on bring the new Feature Model home, which should be a huge step forward. On the non-technical side of things we’re also going to be working on changing the license of the ‘core’ of GeoServer (configuration of data and access to GeoTools) to LGPL, which should enable others to build even more interesting services on top.

So stay tuned, there’s lots of fun coming from the edges to the mainstream of GeoServer, and there are some other fun things that may be in the works. It’s going to be an exciting year for sure.

Happy Holidays from all of us working on GeoServer!

Read More

GeoServer 1.4.0 has arrived!

It’s finally here! Version 1.4.0 is out the door and kicking. This is quite an exciting release for us because it is taking GeoServer in a new, more developer friendly, direction with the Spring framework it is built on. What we gain from this new framework is the ability to modularize GeoServer into separate components and allow for outside developers to create plug-ins easily. It used to be a lot more difficult to add extensions, comparatively to what we have now, and this means that we can look forward to new and interesting additions from the many users out there.

That said, I will point you at the documentation that describes just how to write your own plug-in:

Of course there are many bug fixes and improvements in this release. We have also worked on stability a fair amount and are currently testing version 1.4.0 on our demo server: Sigma . So if you have a WMS up and running, feel free to point it at our layers and use our data. The more we can hit the server the easier it will be to find problems.

Hot on the heels of this release is GeoServer 1.5 with Web Coverage Service support. We hope to see the first release candidate in January. So stay tuned!

You can grab the 1.4.0 release here.

Read More

Client applications

These are some of our favorite client applications. There are some others out there and you can refer to the GeoServer client page for more information.

MapBuilder A javascript client that supports OGC WMS and WFS requests, so you can view and edit spatial data through the web browser. GeoServer has MapBuilder built in as its map preview tool.

Open Layers OpenLayers is a javascript tiling web-based client just like Google maps. It supports OGC WMS requests.

MapBender Mapbender is the software and portal site for geodata management of OGC OWS architectures. The software provides web technology for managing spatial data services implemented in PHP, JavaScript and XML. It provides a data model and interfaces for displaying, navigating and querying OGC compliant map services. The Mapbender framework furthermore provides authentication and authorization services, OWS proxy functionality, management interfaces for user, group and service administration in WebGIS projects.

Udig Udig is a desktop client that supports OGC WMS and WFS requests. It is built off of the same library as GeoServer: GeoTools.

GVSig GVSig is a desktop client that supports OGC WMS and WFS requests, similar to Udig.

Google Earth GeoServer can serve up data as KML/KMZ that can then be loaded in Google Earth. There is a tutorial here that you can read to start viewing your in this client.

NASA World Wind World Wind supports WMS requests so you can serve up your data with GeoServer to it. Read this tutorial for how to do this.

Read More

The WFS and WMS Services

OGC Web Services for accessing Geographic Data

The Open Geospatial Consortium has defined several Open Web Services for accessing (usually geographic) data. There are two basic service sets - the Web Feature Services (WFS) and the Web Map Services (WMS). The WFS is concerned with direct access to your data - reading, writing, and updating your features. The WMS is concerned with transforming your data into a map (image).

![]( **What is a Feature?** A feature is an Object that is an abstraction of a real world phenomenon. This object has a set of properties associated with each having a name, a type, and a value. An example of a feature might be Road with a Name, Location (line geometry), Width, Speed Limit, and Jurisdiction. Typically these features are stored in a [spatial database](, shapefile, or other format.
![]( **OGC Open Web Services** The OGC Web Services provide access to the features - either directly or as images (maps) - in a standardized way independent of the company who created the server or the actual format the data is stored in.

What to use a the WFS services for

A WFS allows uniform direct access to the features stored on a server. Use a WFS when they want to perform actions such as:

  • query a dataset and retrieve the features

  • find the feature definition (feature’s property names and types)

  • add features to dataset

  • delete feature from a dataset

  • update feature in a dataset

  • lock features to prevent modification

A WMS allows for uniform rendering access to features stored on a server. Use a WMS when you want to perform actions such as:

  • Producing Maps

  • Very simple Querying of data

Read More