Geoserver

From Seamonster

Jump to: navigation, search


Contents

Introduction

SEAMONSTER instantiates GeoServer (an open-source web interface engine) as a world-facing front end for our PostGIS database, which in turn is the repository for all the project data and metadata. This enables us to share project data across all sensors and time ranges in a variety of formats from maps and charts to data plots to computer-usable data streams. This page describes GeoServer in a little more detail, particularly in terms of standards it conforms to. We then provide a series of example links showing how it works.

What is GeoServer?

"GeoServer is an open source server focused on connecting existing geographically-referenced information to the Geoweb using open standards. It was started by a non-profit organization called The Open Planning Project (TOPP), to help build an interoperable Spatial Data Infrastructure by providing high quality, easy to use, open source software to potential data providers. It has evolved to become an easy method of connecting existing information to Virtual globes such as Google Earth and NASA World Wind as well as mapping websites such as Google Maps, Windows Live Local and Yahoo Maps. GeoServer also serves as the Web Feature Server 1.0 and 1.1 reference implementation, also implementing the Web Map Server 1.1.1 and Web Coverage Server 1.0 specifications.

GeoServer allows the publishing of geospatial data as maps/images (using the Web Map Server), as actual data (using the Web Feature Server), and allows users to update, delete, and insert features (using the Web Feature Server-Transactional). The focus of the software is ease of use and support for open standards, in order to enable anyone to quickly share their geospatial information in an interoperable way.

From Wikipedia

Geoserver and Google Earth

Geoserver KML is a startup page.


KML is the markup language (K stands for "Keyhole") that Google Earth uses to overlay content and manage live updates.


Here is an overview on using Geoserver with Google Earth. I'm cutting and pasting from: http://docs.codehaus.org/display/GEOSDOC/00+GeoServer+for+Google+Earth

Introduction

GeoServer is an open source server built to help enable the 'GeoWeb', just as the Apache Web Server enabled the World Wide Web. GeoServer is focused on connecting existing sources of geospatial data (shapefiles, oracle spatial, postgis, db2, arcsde, mysql, geotiff, arcgrid, ect.) to the wider web through open standards (kml, wms, wfs, geojson, georss). GeoServer also provides a powerful platform for collaboratively editing geospatial data through the web. Currently this is only available through 2d front ends like OpenLayers, and uDig. But we will be sure to implement for Google Earth and Maps as soon as they support a way to do so.

Why GeoServer?

For many cases creating a KML file by hand is more than sufficient. GeoServer is useful when one wants to put a lot of data on to Google Earth. GeoServer operates entirely through a Network Link, which allows it to selectively return information for the area being viewed. By providing an open source implementation of this powerful feature we hope to enable many more organizations to get on Google Earth and the wider GeoWeb. If you've got existing GIS data we encourage you to try out GeoServer to tailor it to the visualization capabilities of Google Earth.

GeoServer's other advantage is that it allows one to separate the data and presentation layers. Data is configured separately from the 'style' of the map, and then applied when the information is requested. If the style or data change then the output will be adjusted accordingly. One can also make use of multiple styles to present many different visualizations of the same data set.

Standards based implementation

GeoServer supports Google Earth by providing KML as a Web Map Service (WMS) output format. This means that adding data published by GeoServer is as simple as constructing a standard WMS request and specifying "application/vnd.google-earth.kml+xml" as the outputFormat. The cool part is that since generating KML is just a WMS call it fully supports styling via the SLD standard. A user can even post their own SLD file to the server and GeoServer will render the data as the user wants, instead of how the server administrator set it up. GeoServer also supports the WFS and WCS standards for access to the raw data, the 'source code' of the maps, for further analysis, modifications, and modeling.

Geoserver Tour Links

A few Seamonster Stations in Google Earth

Eknuth 21:21, 16 October 2007 (PDT) Not currently working. Will update soon.

http://nsrl1.jun.alaska.edu/~eknuth/seamonster.kml


The same stations in a web mapping application

http://nsrl1.jun.alaska.edu:8080/geoserver/wms?bbox=-134.63903274536145,58.36975784301761,-134.60893783569355,58.38555221557619&styles=&Format=application/openlayers&request=GetMap&layers=topp:met&width=800&height=394&srs=EPSG:4326

Seamonster Stations as part of a GeoRSS feed

http://www.acme.com/GeoRSS/?xmlsrc=http%3A%2F%2Fnsrl1.jun.alaska.edu%3A8080%2Fgeoserver%2Fwms%3Fbbox%3D-134.643672655%2C58.25536254%2C-134.511418445%2C58.39099826%26styles%3D%26Format%3Dapplication%2Frss%252Bxml%26request%3DGetMap%26layers%3Dtopp%3Aseamonster%26width%3D586%26height%3D550%26srs%3DEPSG%3A4326

Juneau area Digital Elevation Model in Google Earth

http://nsrl1.jun.alaska.edu/~eknuth/jun_dem.kml

DEM in web mapping application

http://nsrl1.jun.alaska.edu:8080/geoserver/wms?bbox=500000.0,6428468.579562117,559113.5079593274,6512457.05167073&styles=&Format=application/openlayers&request=GetMap&layers=topp:jun_dem&width=437&height=550&srs=EPSG:26708

Model output in Google Earth

http://nsrl1.jun.alaska.edu/~eknuth/model.kml

Demo courtesy of Ed


Here's a minidemo.

http://nsrl1.jun.alaska.edu:8080/geoserver/wms?bbox=-134.63903274536145,58.36975784301761,
-134.60893783569355,58.38555221557619&styles=&Format=application/openlayers&request=GetMap&
layers=topp:met&width=800&height=394&srs=EPSG:4326 

or kml

http://nsrl1.jun.alaska.edu:8080/geoserver/wms/kml_reflect?layers=topp:met

These are two points from the postgis DB.  When you click on the point it shows you the contents of it's 
database record.  In this case the "description" field contains html, which is rendered.  The html 
references sparklines generated from the database. 



So, we have 

      postgis---->geoserver---->kml/webmapping<------------<--------------^
                                            |                             | 
                                            |                             |
     db->perlscript->sparklines->webserver------->------------->-----------User


This little demo has all the elements we're going to use.  Now if it just had a link to an agent feed, we'd be done. 

Personal tools